[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