Hacker News
Escaping containment: A security analysis of FreeBSD jails [video]
quesera
|next
[-]
> ... we conducted a large-scale audit of FreeBSD kernel code paths accessible from within a jail. We systematically examined privileged operations, capabilities, and interfaces that a jailed process can still reach, hunting for memory safety issues, race conditions, and logic flaws. The result: roughly 50 distinct issues uncovered across multiple kernel subsystems, ranging from buffer overflows and information leaks to unbounded allocations and reference counting errors—many of which could crash the system or provide vectors for privilege escalation beyond the jail.
> We’ve developed proof-of-concept exploits and tools to demonstrate some of these vulnerabilities in action. We’ve responsibly disclosed our findings to the FreeBSD security team and are collaborating with them on fixes. Our goal isn’t to break FreeBSD, but to highlight the systemic difficulty of maintaining strict isolation in a large, mature codebase.
josephg
|root
|parent
[-]
> Our goal isn’t to break FreeBSD, but to highlight the systemic difficulty of maintaining strict isolation in a large, mature codebase.
50 distinct issues? That's devastating. If these researchers found 50 issues, we all know there's more that 50 issues in the codebase.
I really think we need to start seriously considering using SeL4 as a base for our operating systems. How long can we keep building on top of sand?
jacquesm
|root
|parent
|next
[-]
If the companies that use this stuff commercially would contribute back 1% of the value they derive from using open source this could be bullet proof.
mirekrusin
|root
|parent
|next
|previous
[-]
msmitty
|root
|parent
[-]
quesera
|root
|parent
|next
|previous
[-]
- Most issues do not become exploitable vulnerabilities.
- The prereq for these code paths is root in the jail, so an ordinary user would first require a privilege escalation bug to get root, which is where most security review is traditionally focused (these paths should be closed already).
I haven't seen whether the POCs can actually get to an escape, but this is great work and FreeBSD is better for it.
elcritch
|root
|parent
|previous
[-]
That's rough but for a systematic search of a large system it seems reasonable. Theres a good chance that these 50 represent most the "easy" vulnerabilities if the researchers did a thorough job. In a way it seems more likely than if they found a smaller number.
msmitty
|root
|parent
[-]
His process is briefly touched on in the talk. If I understood correctly he compiled a list of the most common jail privilege flags that exist and then searched the FreeBSD source code for those, investigating the code in those places. No automated tooling was used, this was just done by reading the source code. Which Ilja has been doing as “light bed time reading” :p for as long as I’ve known him (25+ years).