CVE-2026-3490 json
picklescan - Universal Blocklist Bypass via pkgutil.resolve_name
published 2026-03-03 8 mo ago modified 2026-11-08 19 h ago also EUVD-2026-37737 , GHSA-vvpj-8cmc-gx39 , PYSEC-2026-456
- cvss
- 10.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 57%
- public exploits
- 0
- none known
Summary
picklescan before 1.0.4 fails to block pkgutil.resolve_name, allowing attackers to bypass the entire blocklist by resolving any dangerous function through indirect REDUCE calls. Remote attackers can invoke any blocked function such as os.system, builtins.exec, or subprocess.call to achieve remote code execution.
Patch / fix
- pypi picklescan 1.0.4
- picklescan picklescan 1.0.4
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 4 mo ago
Exploit prediction
0.82% chance of exploitation in the next 30 days, higher than 57% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/mmaitre314/picklescan/security/advisories/GHSA-vvpj-8cmc-gx39 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CNA | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| OSV | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | picklescan | <1.0.4 |
1.0.4 |
Affected products
- picklescan picklescan
Classification
References
-
github.com
/mmaitre314/picklescan/security/advisories/GHSA-vvpj-8cmc-gx39
vendor-advisory, exploit, web
-
vulncheck.com
/advisories/picklescan-universal-blocklist-bypass-via-pkgutil-resolve-name
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-3490
advisory
-
github.com
/mmaitre314/picklescan
package
-
pypi.org
/project/picklescan
package
-
github.com
/advisories/GHSA-vvpj-8cmc-gx39
advisory
Sources
- CVE List CVE-2026-3490
- GitHub Advisory GHSA-vvpj-8cmc-gx39
- NVD CVE-2026-3490
- OSV PYSEC-2026-456
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.