{"id":"CVE-2026-22609","state":"PUBLISHED","title":"Fickling has Static Analysis Bypass via Incomplete Dangerous Module Blocklist","description":"Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, the unsafe_imports() method in Fickling's static analyzer fails to flag several high-risk Python modules that can be used for arbitrary code execution. Malicious pickles importing these modules will not be detected as unsafe, allowing attackers to bypass Fickling's primary static safety checks. This issue has been patched in version 0.1.7.","publishedAt":"2026-01-10T01:35:18.152Z","updatedAt":"2026-01-14T19:51:31.740Z","severity":{"score":8.9,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","source":"GitHub_M"},"assigner":"GitHub_M","products":["trailofbits fickling"],"affected":[{"vendor":"trailofbits","product":"fickling","versions":[{"version":"< 0.1.7","status":"affected"}]}],"references":["https://github.com/trailofbits/fickling/security/advisories/GHSA-q5qq-mvfm-j35x","https://github.com/trailofbits/fickling/commit/29d5545e74b07766892c1f0461b801afccee4f91","https://github.com/trailofbits/fickling/commit/9a2b3f89bd0598b528d62c10a64c1986fcb09f66","https://github.com/trailofbits/fickling/commit/b793563e60a5e039c5837b09d7f4f6b92e6040d1","https://github.com/trailofbits/fickling/commit/eb299b453342f1931c787bcb3bc33f3a03a173f9","https://github.com/trailofbits/fickling/releases/tag/v0.1.7"],"weaknesses":["CWE-184","CWE-502"],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/22xxx/CVE-2026-22609.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-22609","state":"PUBLISHED","datePublished":"2026-01-10T01:35:18.152Z","dateUpdated":"2026-01-14T19:51:31.740Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-01-07T21:50:39.534Z"},"containers":{"cna":{"title":"Fickling has Static Analysis Bypass via Incomplete Dangerous Module Blocklist","descriptions":[{"lang":"en","value":"Fickling is a Python pickling decompiler and static analyzer. Prior to version 0.1.7, the unsafe_imports() method in Fickling's static analyzer fails to flag several high-risk Python modules that can be used for arbitrary code execution. Malicious pickles importing these modules will not be detected as unsafe, allowing attackers to bypass Fickling's primary static safety checks. This issue has been patched in version 0.1.7."}],"affected":[{"vendor":"trailofbits","product":"fickling","versions":[{"version":"< 0.1.7","status":"affected"}]}],"references":[{"url":"https://github.com/trailofbits/fickling/security/advisories/GHSA-q5qq-mvfm-j35x","name":"https://github.com/trailofbits/fickling/security/advisories/GHSA-q5qq-mvfm-j35x","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/trailofbits/fickling/commit/29d5545e74b07766892c1f0461b801afccee4f91","name":"https://github.com/trailofbits/fickling/commit/29d5545e74b07766892c1f0461b801afccee4f91","tags":["x_refsource_MISC"]},{"url":"https://github.com/trailofbits/fickling/commit/9a2b3f89bd0598b528d62c10a64c1986fcb09f66","name":"https://github.com/trailofbits/fickling/commit/9a2b3f89bd0598b528d62c10a64c1986fcb09f66","tags":["x_refsource_MISC"]},{"url":"https://github.com/trailofbits/fickling/commit/b793563e60a5e039c5837b09d7f4f6b92e6040d1","name":"https://github.com/trailofbits/fickling/commit/b793563e60a5e039c5837b09d7f4f6b92e6040d1","tags":["x_refsource_MISC"]},{"url":"https://github.com/trailofbits/fickling/commit/eb299b453342f1931c787bcb3bc33f3a03a173f9","name":"https://github.com/trailofbits/fickling/commit/eb299b453342f1931c787bcb3bc33f3a03a173f9","tags":["x_refsource_MISC"]},{"url":"https://github.com/trailofbits/fickling/releases/tag/v0.1.7","name":"https://github.com/trailofbits/fickling/releases/tag/v0.1.7","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.9,"baseSeverity":"HIGH","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-184","lang":"en","description":"CWE-184: Incomplete List of Disallowed Inputs","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-502","lang":"en","description":"CWE-502: Deserialization of Untrusted Data","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-01-10T01:35:18.152Z"},"source":{"advisory":"GHSA-q5qq-mvfm-j35x","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/trailofbits/fickling/security/advisories/GHSA-q5qq-mvfm-j35x","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-01-14T19:51:27.570854Z","id":"CVE-2026-22609","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-01-14T19:51:31.740Z"}}]}}}