[glibc][PATCH] nptl: open threads comm with O_WRONLY|O_CLOEXEC in pthread_setname_np
Florian Weimer
fweimer@redhat.com
Wed Jun 10 07:29:17 GMT 2026
* Sana Kazi:
> From: Sana Kazi <Sana.Kazi@bmwtechworks.in>
>
> pthread_setname_np opens the thread's comm file using O_RDWR, but the
> function only ever writes to it. This causes two distinct problems:
>
> 1. Missing O_CLOEXEC: the file descriptor is not marked close-on-exec,
> so it remains open across fork+exec. A child process that audits
> its inherited file-descriptor set will encounter an unexpected /proc
> fd it did not open and may treat this as a security violation and
> abort.
>
> 2. Unnecessary O_RDWR: requesting read+write access when only write
> access is needed can cause open() to fail under security policies
> that permit writing to /proc/<tid>/comm but deny reading it.
>
> Fix both issues by replacing O_RDWR with O_WRONLY|O_CLOEXEC
Would you please address Andreas' comment from the bug?
| pthread_getname_np should probably use O_CLOEXEC as well.
Please also reference the bug number.
Thanks,
Florian
More information about the Libc-alpha
mailing list