Den 14/09/2012 kl. 13.03 skrev Ivan Voras <ivo...@freebsd.org>:

> On 14/09/2012 09:49, Erik Cederstrand wrote:
>> Hello hackers,
>> 
>> I'm looking through the Clang Analyzer scans on 
>> http://scan.freebsd.your.org/freebsd-head looking for false positives to 
>> report back to LLVM. There are quite a list of reports suggesting to change 
>> vfork() calls to posix_spawn(). Example from /bin/rpc: 
>> http://scan.freebsd.your.org/freebsd-head/bin.rcp/2012-09-12-amd64/report-nsOV80.html#EndPath
>> 
>> I know nothing about this but I can see fork and posix_spawn have been 
>> discussed on this list previously. Is this a legitimate warning (in this 
>> case and in general in FreeBSD base)?
> 
> Currently (on 9-stable at least), posix_spawn() is implemented as a
> wrapper around vfork(), so I doubt replacing one with the other would do
> much.

The analyzer added this warning in January. The release notes link to this 
explanation: 
https://www.securecoding.cert.org/confluence/display/seccode/POS33-C.+Do+not+use+vfork()

I guess this is the important part:

"Because of the implementation of the vfork() function, the parent process is 
suspended while the child process executes. If a user sends a signal to the 
child process, delaying its execution, the parent process (which is privileged) 
is also blocked. This means that an unprivileged process can cause a privileged 
process to halt, which is a privilege inversion resulting in a denial of 
service."

Erik_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to