This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/12189] __stack_chk_fail should not attempt a backtrace (CVE-2010-3192)


https://sourceware.org/bugzilla/show_bug.cgi?id=12189

--- Comment #19 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  ed421fca42fd9b4cab7c66e77894b8dd7ca57ed0 (commit)
      from  94070f86c0c849c71ed2e7e2189bb4d1f7411a17 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ed421fca42fd9b4cab7c66e77894b8dd7ca57ed0

commit ed421fca42fd9b4cab7c66e77894b8dd7ca57ed0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jul 11 07:44:01 2017 -0700

    Avoid backtrace from __stack_chk_fail [BZ #12189]

    __stack_chk_fail is called on corrupted stack.  Stack backtrace is very
    unreliable against corrupted stack.  __libc_message is changed to accept
    enum __libc_message_action and call BEFORE_ABORT only if action includes
    do_backtrace.  __fortify_fail_abort is added to avoid backtrace from
    __stack_chk_fail.

        [BZ #12189]
        * debug/Makefile (CFLAGS-tst-ssp-1.c): New.
        (tests): Add tst-ssp-1 if -fstack-protector works.
        * debug/fortify_fail.c: Include <stdbool.h>.
        (_fortify_fail_abort): New function.
        (__fortify_fail): Call _fortify_fail_abort.
        (__fortify_fail_abort): Add a hidden definition.
        * debug/stack_chk_fail.c: Include <stdbool.h>.
        (__stack_chk_fail): Call __fortify_fail_abort, instead of
        __fortify_fail.
        * debug/tst-ssp-1.c: New file.
        * include/stdio.h (__libc_message_action): New enum.
        (__libc_message): Replace int with enum __libc_message_action.
        (__fortify_fail_abort): New hidden prototype.
        * malloc/malloc.c (malloc_printerr): Update __libc_message calls.
        * sysdeps/posix/libc_fatal.c (__libc_message): Replace int
        with enum __libc_message_action.  Call BEFORE_ABORT only if
        action includes do_backtrace.
        (__libc_fatal): Update __libc_message call.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                   |   22 ++++++++++++++++
 debug/Makefile                              |    6 ++++
 debug/fortify_fail.c                        |   15 +++++++++-
 debug/stack_chk_fail.c                      |    3 +-
 inet/test-hnto-types.c => debug/tst-ssp-1.c |   36 +++++++++++++++-----------
 include/stdio.h                             |   13 +++++++++-
 malloc/malloc.c                             |    6 +++-
 sysdeps/posix/libc_fatal.c                  |   11 ++++---
 8 files changed, 86 insertions(+), 26 deletions(-)
 copy inet/test-hnto-types.c => debug/tst-ssp-1.c (68%)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]