Sourceware Bugzilla – Attachment 13606 Details for
Bug 28213
NULL pointer dereference in mq_notify (CVE-2021-38604)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch
0001-librt-fix-NULL-pointer-dereference-bug-28213.patch (text/plain), 1.52 KB, created by
Nikita Popov
on 2021-08-09 12:29:31 UTC
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Nikita Popov
Created:
2021-08-09 12:29:31 UTC
Size:
1.52 KB
patch
obsolete
>From c69f990e356dd8e756b0025e026d59db5af6e059 Mon Sep 17 00:00:00 2001 >From: Nikita Popov <npv1310@gmail.com> >Date: Mon, 9 Aug 2021 17:15:52 +0500 >Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213) >To: libc-alpha@sourceware.org > >Helper thread frees copied attribute on NOTIFY_REMOVED message received from the OS kernel. Unfortunately, it fails to check whether copied attribute actually exists (data.attr != NULL). This worked earlier because free() checks passed pointer before actually attempting to release corresponding memory. But __pthread_attr_destroy assumes pointer is not NULL. So passing NULL pointer to __pthread_attr_destroy will result in segmentation fault. This scenario is possible if notification->sigev_notify_attributes == NULL (which means default thread attributes should be used). >--- > sysdeps/unix/sysv/linux/mq_notify.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c >index 9799dcdaa4..eccae2e4c6 100644 >--- a/sysdeps/unix/sysv/linux/mq_notify.c >+++ b/sysdeps/unix/sysv/linux/mq_notify.c >@@ -131,7 +131,7 @@ helper_thread (void *arg) > to wait until it is done with it. */ > (void) __pthread_barrier_wait (¬ify_barrier); > } >- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED) >+ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr != NULL) > { > /* The only state we keep is the copy of the thread attributes. */ > __pthread_attr_destroy (data.attr); >-- >2.17.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 28213
: 13606