Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

facelessuser/pymdown-extensions
main @ b8996d7
2
Fixes
0
CVEs
HIGH
Peak severity
0.0%
Coverage
Highlights
Path Traversal: 2 prior fixes. Scrutinize any change in this area.
pymdownx/snippets.py: most-fixed (2 issues). Treat as high-risk during review.
1 high-severity fix in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Path Traversal: The snippet loader resolves paths via os.path.join(base, path) without robust canonicalization in the earlier fix; a crafted path with separators could escape the base directory and read arbitrary files.
Path Traversal: Even after the first fix, the prefix check could be bypassed via non-canonical paths (e.g., symlinks, '..'), so a default restriction was added to canonicalize and verify containment.