kern/72922: linux emulation: suid/sgid threaded applications hang

Andriy Gapon avg at icyb.net.ua
Wed Oct 20 05:10:32 PDT 2004


>Number:         72922
>Category:       kern
>Synopsis:       linux emulation: suid/sgid threaded applications hang
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 20 12:10:31 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Andriy Gapon
>Release:        5.2.1-RELEASE-p11
>Organization:
>Environment:
5.2.1-RELEASE-p11 i386
linux_base-7.1_7
linux_devtools-7.1_3
>Description:
linux applications using old linux threads (pre-NPTL) use signal 32 
(linux SIGRTMIN) for communication between thread-processes.
If such an linux application is installed suid or sgid and security.bsd.conservative_signals=1 (default),
then permission will be denied to send such a signal and the application will freeze.
Please see
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=13492+0+archive/2004/freebsd-emulation/20041017.freebsd-emulation
for an example and detailed investigation of such case.
>How-To-Repeat:
using the same environment as mine 
1. make any threaded linux application suid
2. run it so that it really changes privileges
3. see it freeze
>Fix:
1. either add signal 32 (linux SIGRTMIN) to list of "common signals" in cr_cansignal()
2. or detect the described situation in cr_cansignal() and produce a 
warning message explaining the situation and suggesting setting 
security.bsd.conservative_signals=0
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list