This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/12189] __stack_chk_fail should not attempt a backtrace (CVE-2010-3192)
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 11 Jul 2017 14:46:35 +0000
- Subject: [Bug libc/12189] __stack_chk_fail should not attempt a backtrace (CVE-2010-3192)
- Auto-submitted: auto-generated
- References: <bug-12189-131@http.sourceware.org/bugzilla/>
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.