Skip to content

Latest commit

 

History

History
54 lines (44 loc) · 3.49 KB

File metadata and controls

54 lines (44 loc) · 3.49 KB

List of Avoidable Vulnerabilities

The following is a list of vulnerabilities that we believe would've been avoided if the project in question had used libpathrs for file operations. For more information about the "strict" and "classic" path safety terms, see my FOSDEM 2026 talk on the topic.

This is not intended to speak ill of other projects (almost all languages provide substandard APIs for doing VFS operations and this is not an issue most people consider), but is instead intended to provide a justification for why this library exists and provides C APIs to maximise adoption.

If you know of any other issues that libpathrs would've protected against, feel free to open a PR!

Classic Path Safety

These bugs were related to classic symlink traversal or similar time-of-check-time-of-use bugs. Most Unix programs are at risk of having bugs of this nature, and so we anticipate this list is much longer than given here.

These bugs are more specific than "classic" path safety, and usually involve a privileged process operating on pseudofilesystems like /proc in a context where an attacker may be able to modify the mount table of the process. This is primarily a container-runtime-specific issue and most people probably consider protecting against this to be a paranoid level of hardening.