Trail of Bits fickling versions up to and including 0.1.10 do not include the Python standard library modules _posixsubprocess, site, and atexit in the UNSAFE_IMPORTS denylist (fickle.py)
Why It Matters
Analysis dossierWhy It Matters
Trail of Bits fickling versions up to and including 0.1.10 do not include the Python standard library modules _posixsubprocess, site, and atexit in the UNSAFE_IMPORTS denylist (fickle.py). Because these modules are absent from the denylist, fickling's check_safety() function returns LIKELY_SAFE with zero findings for pickle payloads that invoke dangerous functions including _posixsubprocess.fork_exec (C-level process spawner capable of executing arbitrary binaries), site.execsitecustomize (executes arbitrary site customization code), and atexit._run_exitfuncs (triggers all registered exit handler callbacks). The fickling.load() API chains check_safety() into pickle.loads() as an explicit security gate; a LIKELY_SAFE verdict causes the payload to be deserialized and executed. This shares the same root cause as CVE-2026-22607 (cProfile), CVE-2025-67748 (pty), and CVE-2025-67747 (marshal/types). OvertlyBadEvals does not flag these modules because they are standard library imports. UnsafeImports does not flag them because they are not in the denylist. The UnusedVariables heuristic is defeated by the SETITEMS opcode pattern.
High
Unknown
Unknown
Risk basis: SOC ecosystem technology relevance; HIGH severity; Source severity; no confirmed exploitation signal
Affected Products & Remediation
1 source-backed product- trailofbits fickling · <= 0.1.10 · NVD CPE · Source
Vendor or catalog guidance (source)
Not provided by source
Known exploitation (source facts)
Only what a source states. Unknown means no source has said either way; it is not "not exploited".
- CISA KEV
- Unknown
- Exploited (source statement)
- Unknown
- Publicly disclosed (source)
- Unknown
Suggested hunting (rule-based inference)
SecOps Signal recommendation (rule-based inference). These steps are hunting hypotheses from the vulnerability class; they do not state or imply that exploitation occurred here or anywhere.
Matched deserialization (CWE-502); user-interaction-client (CVSS AV:N, CVSS UI:R)
Exposure
- Find installations of the affected component and confirm the source-stated version range.Telemetry: Application inventory · Deserialization risk requires component and version evidence. · Rule deserialization
- Identify endpoints reporting this CVE, especially those used for email and web browsing.Telemetry: DeviceTvmSoftwareVulnerabilities · A network vector that needs user interaction points at user-facing client software. · Rule user-interaction-client
Exploitation evidence
- Review unusual child processes or network connections from the affected service.Telemetry: DeviceProcessEvents · Unexpected behavior may support investigation but is not proof by itself. · Rule deserialization
Show more (2)
Exploitation evidence
- Review unusual child processes started by the affected client application on affected endpoints.Telemetry: DeviceProcessEvents · Hunting hypothesis from the CVSS vector; it does not show that exploitation occurred. · Rule user-interaction-client
Response
- Verify the vendor update or mitigation on each affected installation.Telemetry: Application change records · Response must follow the authoritative source guidance. · Rule deserialization
CISA KEV Record
CISA KEV status was not determined for this record.
Change History & Source Data
— No recorded material change
- CNA / source
- aa17e1a1-c329-4d6e-a1ed-8d0188aea082
- Record status · verification
- UPDATED · NVD API
- CPE
- cpe:2.3:a:trailofbits:fickling:*:*:*:*:*:python:*:*
Evidence & Provenance
Linked by the query's stored exact CVE association. Review required tables and validation status before use.
DeviceTvmSoftwareVulnerabilities| where CveId == "CVE-2026-14534"| project DeviceId, DeviceName, OSPlatform, OSVersion, SoftwareVendor, SoftwareName, SoftwareVersion, CveId, VulnerabilitySeverityLevel, RecommendedSecurityUpdate, RecommendedSecurityUpdateId| sort by VulnerabilitySeverityLevel descLooking up related community queries…