HighVulnerability
CVE-2026-14535: Trail of Bits fickling MLAllowlist bypass allows unsafe pickle deserialization
- Source
- NVD(opens in a new tab)
- Identifier
- CVE-2026-14535
- Published
- Record updated
- Known exploitation
- Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
- EPSS
- 0.6%
Summary
In Trail of Bits fickling versions up to and including 0.1.11, the UnsafeImportsML pass calls AnalysisContext.shorten_code(node) on every import, which marks each import as already reported in the shared reported_shortened_code set. The MLAllowlist pass then receives already_reported=True for every import and skips its allowlist check, so standard library modules outside the UNSAFE_IMPORTS denylist can pass check_safety() as LIKELY_SAFE. Because fickling.load() passes that verdict to pickle.loads(), such a payload is deserialized and executed.
Mitigation
The source does not state a fix yet. Check the original advisory for updates.
Related items
- MediumCVE-2026-108759: mistral.rs sandbox escape via symlinks in mistralrs-code-execSimilar attack · NVD/CVE Database
- MediumCVE-2026-108575: BerriAI LiteLLM improper authorization in secret resolution via api_keySimilar attack · NVD/CVE Database
- MediumCVE-2026-108574: BerriAI LiteLLM authorization bypass in session spend log view via session_idSimilar attack · NVD/CVE Database
- MediumCVE-2026-108670: JeecgBoot missing authorization in AiragPromptsControllerSimilar attack · NVD/CVE Database
- MediumCVE-2026-108600: open-multi-agent link following flaw in file_write tool sandboxSimilar attack · NVD/CVE Database