{"answers":{"affected":"3 open source packages ship an affected version, including picklescan. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-10157 exists.","fix":"Upgrade picklescan to 0.0.31 or later.","what":"CVE-2025-10157 is a critical vulnerability in mmaitre314 picklescan, published on 17 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-10157 and fix it if it is affected.\n\nWhat it is: CVE-2025-10157 is a critical vulnerability in mmaitre314 picklescan, published on 17 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-10157 exists.\n\nAffected packages and fixed versions:\n- picklescan (PyPI): affected all versions; fixed in 0.0.31\n- picklescan (PyPI): affected all versions; fixed in 0.0.31\n- picklescan (PyPI): affected all versions; fixed in 0.0.31\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-10157/ (Markdown: https://insights.sbomify.com/CVE-2025-10157/index.md)","id":"CVE-2025-10157","markdown":"https://insights.sbomify.com/CVE-2025-10157/index.md","name":"CVE-2025-10157","record":{"aliases":["GHSA-f7qq-56ww-84cr","PYSEC-2025-153"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"Python pickle scanner","requires_auth":"none","summary":"Attackers can bypass PickleScan's safety checks using submodule imports to execute malicious code when loading scanned pickle files.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"JFROG","cpe":[{"product":"picklescan","vendor":"mmaitre314"}],"cvss":{"score":9.3,"severity":"critical","source":"cna","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","version":"4.0"},"cwes":[{"id":"CWE-693","name":"Protection Mechanism Failure"}],"description":"A Protection Mechanism Failure vulnerability in mmaitre314 picklescan versions up to and including 0.0.30 allows a remote attacker to bypass the unsafe globals check. This is possible because the scanner performs an exact match for module names, allowing malicious payloads to be loaded via submodules of dangerous packages (e.g., 'asyncio.unix_events' instead of 'asyncio'). \n\nWhen the incorrectly considered safe file is loaded after scan, it can lead to the execution of malicious code.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"PickleScan Bypasses Unsafe Globals Check Using Submodule Imports","id":"CVE-2025-10157","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"security_feature_bypass","year":"2025"},"n_packages":3,"n_references":3,"next":{"headline":"Rsync: Out of bounds array access via negative index","id":"CVE-2025-10158"},"packages":[{"ecosystem":"PyPI","fixed":["0.0.31"],"introduced":["0"],"last_affected":[],"package":"picklescan","purl":null,"source":"GHSA-f7qq-56ww-84cr"},{"ecosystem":"PyPI","fixed":["0.0.31"],"introduced":["0"],"last_affected":[],"package":"picklescan","purl":"pkg:pypi/picklescan","source":"GHSA-f7qq-56ww-84cr"},{"ecosystem":"PyPI","fixed":["0.0.31"],"introduced":["0"],"last_affected":[],"package":"picklescan","purl":"pkg:pypi/picklescan","source":"PYSEC-2025-153"}],"prev":{"headline":"PickleScan Security Bypass via Bad CRC in ZIP Archive","id":"CVE-2025-10156"},"products":["picklescan"],"published":"2025-09-17","related":[{"cvss_score":9.3,"headline":"PickleScan Security Bypass Using Misleading File Extension","id":"CVE-2025-10155","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":9.3,"headline":"PickleScan Security Bypass via Bad CRC in ZIP Archive","id":"CVE-2025-10156","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":7.6,"headline":"picklescan - Arbitrary Code Execution via torch.utils._config_module.load_config Bypass","id":"CVE-2025-71348","kev_date_added":null,"published":"2026-06-21"},{"cvss_score":7.6,"headline":"picklescan - Arbitrary Code Execution via Undetected idlelib.pyshell.ModifiedInterpreter.runcommand","id":"CVE-2025-71357","kev_date_added":null,"published":"2026-06-21"},{"cvss_score":7.6,"headline":"picklescan - Remote Code Execution via Undetected cProfile.runctx in Pickle Files","id":"CVE-2025-71378","kev_date_added":null,"published":"2026-06-21"},{"cvss_score":6.9,"headline":"picklescan - Arbitrary File Creation via logging.FileHandler Deserialization","id":"CVE-2026-56304","kev_date_added":null,"published":"2026-06-20"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-09-17","vendors":["mmaitre314"]},"summary":"Attackers can bypass PickleScan's safety checks using submodule imports to execute malicious code when loading scanned pickle files.","url":"https://insights.sbomify.com/CVE-2025-10157/"}