Repository navigation
·
3 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Breaking changes
- Drop Python 3.10 support and add Python 3.15 support. The minimum is now Python 3.11 (#331).
- Remove the ineffective
max_acceptable_severityparameter fromFicklingContextManager(#309).
Security
- Expand the unsafe imports blocklist with additional code execution, file access, and networking gadgets (#312, #340, #343, #347). Thanks to @HackingRepo, @reapermunky, @professor-moody, @LeoWSY-hashblue, and @DilipMallavarapu for the reports!
- Detect private stdlib imports, including
subinterpretermodules that can execute arbitrary code (52fd4a6). Thanks to @revanthmeesala for the report! (GHSA-6ggj-6f2q-f7mx) - Extend private import detection to underscore attributes (d73a2f8, 2a28b41) and better handle qualified names 79ae401. Thanks to @crwhitehead for the report! (GHSA-hg3q-3pjc-9qm4)
- Hook
pickle._load,pickle._loads, andpickle._Unpicklerso the Python entrypoints are also scanned (1991a6f). Thanks to @arpitjain099 for the report! (GHSA-fphw-536r-4p88) - Analyze PyTorch checkpoints with PyTorch’s ZIP reader, reducing risks of parsing differentials (d011709). Thanks to @ecekaptan for the report! (GHSA-jm42-cw97-47g2)
- Reject inconsistent
FRAMEboundaries that could hide executable opcodes from analysis. Recompute frame lengths when serializing edited pickles (#317). Thanks to @Quasar0147 for the original report on CPython.
General
- Reduce false positives involving returned values, object state, dictionary keys, and standard library modules (#301, #303, #310). Thanks to @feiiiiii5 for contributing!
- Restore all previous pickle hooks when leaving
FicklingContextManager, including hooks installed before entering it (#309). - Include ZIP members without file type bits in recursive discovery (#342). Thanks to @coldwaterq for the report and patch!
- Fix
AttributeErrorwhen analyzingEXT1,EXT2, andEXT4pickles (#330). - Only write JSON results when
--json-outputis provided (#305). - Declare the runtime dependency on
typing-extensions, fixing bare installations on Python 3.11 (#304). - Various Dependabot updates (too many to list).
Full Changelog: v0.1.12...v0.1.13