Bug 1036099 - udisks2: thread safety issues
Summary: udisks2: thread safety issues
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: udisks2
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Tomáš Bžatek
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: 1035839
TreeView+ depends on / blocked
 
Reported: 2013-11-29 12:48 UTC by Florian Weimer
Modified: 2021-09-06 12:32 UTC (History)
3 users (show)

Fixed In Version: udisks2-2.1.2-2.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-13 12:59:53 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 73669 0 None None None Never

Description Florian Weimer 2013-11-29 12:48:02 UTC
In udisks_daemon_util_get_caller_uid_sync() in src/udisksdaemonutil.c, the "static" should be dropped from the pw variable; it is a thread safety hazard and cause the function to return wrong data.

The functions find_primary_gid(), is_uid_in_gid() in src/udiskslinuxfilesystem.c call getpwuid(), which is not thread-safe.

src/udisksspawnedjob.c:child_setup() does far too much before the execve() call.  NSS modules might not be available if the fork() happened at an inconvenient time.  getpwuid() etc. should be called prior to the fork, and use thread-safe variants there (that is, getwpuid_r).

Comment 2 Tomáš Bžatek 2014-01-15 16:22:20 UTC
Posted a patch upstream: https://bugs.freedesktop.org/show_bug.cgi?id=73669

Comment 5 Ludek Smid 2014-06-13 12:59:53 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.


Note You need to log in before you can comment on or make changes to this bug.