{"id":"CVE-2025-10156","state":"PUBLISHED","title":"PickleScan Security Bypass via Bad CRC in ZIP Archive","description":"An Improper Handling of Exceptional Conditions vulnerability in the ZIP archive scanning component of mmaitre314 picklescan allows a remote attacker to bypass security scans. This is achieved by crafting a ZIP archive containing a file with a bad Cyclic Redundancy Check (CRC), which causes the scanner to halt and fail to analyze the contents for malicious pickle files. When the file incorrectly considered safe is loaded, it can lead to the execution of malicious code.","publishedAt":"2025-09-17T10:41:51.737Z","updatedAt":"2025-09-17T13:04:36.225Z","severity":{"score":9.3,"label":"Critical","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","source":"JFROG"},"assigner":"JFROG","products":["mmaitre314 picklescan"],"affected":[{"vendor":"mmaitre314","product":"picklescan","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"0.0.30","changes":[{"at":"0.0.31","status":"unaffected"}],"versionType":"semver"}]}],"references":["https://huggingface.co/jinaai/jina-embeddings-v2-base-en/resolve/main/pytorch_model.bin?download=true","https://huggingface.co/jinaai/jina-embeddings-v2-base-en/tree/main","https://github.com/mmaitre314/picklescan/blob/v0.0.29/src/picklescan/relaxed_zipfile.py#L35","https://github.com/mmaitre314/picklescan/security/advisories/GHSA-mjqp-26hc-grxg"],"weaknesses":["CWE-755"],"ingestedAt":"2026-10-29T20:08:20.985Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/10xxx/CVE-2025-10156.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2025-10156","state":"PUBLISHED","datePublished":"2025-09-17T10:41:51.737Z","dateUpdated":"2025-09-17T13:04:36.225Z","assignerShortName":"JFROG","assignerOrgId":"48a46f29-ae42-4e1d-90dd-c1676c1e5e6d","dateReserved":"2025-09-09T11:07:36.610Z"},"containers":{"cna":{"title":"PickleScan Security Bypass via Bad CRC in ZIP Archive","descriptions":[{"lang":"en","value":"An Improper Handling of Exceptional Conditions vulnerability in the ZIP archive scanning component of mmaitre314 picklescan allows a remote attacker to bypass security scans. This is achieved by crafting a ZIP archive containing a file with a bad Cyclic Redundancy Check (CRC), which causes the scanner to halt and fail to analyze the contents for malicious pickle files. When the file incorrectly considered safe is loaded, it can lead to the execution of malicious code."}],"affected":[{"vendor":"mmaitre314","product":"picklescan","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"0.0.30","changes":[{"at":"0.0.31","status":"unaffected"}],"versionType":"semver"}]}],"references":[{"url":"https://huggingface.co/jinaai/jina-embeddings-v2-base-en/resolve/main/pytorch_model.bin?download=true","name":"Proof of Concept (Archive with Bad CRC)","tags":["exploit"]},{"url":"https://huggingface.co/jinaai/jina-embeddings-v2-base-en/tree/main","name":"Example of Failing Scan on Hugging Face","tags":["exploit"]},{"url":"https://github.com/mmaitre314/picklescan/blob/v0.0.29/src/picklescan/relaxed_zipfile.py#L35","name":"Vulnerable Code Snippet","tags":["related"]},{"url":"https://github.com/mmaitre314/picklescan/security/advisories/GHSA-mjqp-26hc-grxg","tags":["vendor-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"NETWORK","baseScore":9.3,"baseSeverity":"CRITICAL","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","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","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-755","description":"CWE-755: Improper Handling of Exceptional Conditions","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"JFROG","orgId":"48a46f29-ae42-4e1d-90dd-c1676c1e5e6d","dateUpdated":"2025-09-17T10:41:51.737Z"},"credits":[{"lang":"en","type":"finder","value":"JFrog"},{"lang":"en","type":"finder","value":"@xdcrev"}],"impacts":[{"descriptions":[{"lang":"en","value":"An attacker can craft a malicious pickle payload, package it into a ZIP archive, and intentionally introduce a CRC error. This causes PickleScan to fail while a target application like PyTorch may still load the model, creating a blind spot that could lead to arbitrary code execution."}]}],"source":{"discovery":"EXTERNAL"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-09-17T13:04:29.318926Z","id":"CVE-2025-10156","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-09-17T13:04:36.225Z"}}]}}}