CVE-2026-81690 json
verify-usb before 1.4.9 Symlink Directory Traversal Code Execution
published 2mo ago modified last mo. also EUVD-2026-67046 , GHSA-hw7h-wqf5-6crx , PYSEC-2026-3796
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 53%
- public exploits
- 0
- none known
Summary
openssl-encrypt (pip package) before 1.4.9 contains a symlink-following flaw in its verify-usb v2 added-file allowlist scan. The scan enumerated the drive with rglob(), which in CPython does not descend into symlinked directories and treats the symlink as an ordinary directory, while O_NOFOLLOW on the hash side binds only the final path component. An evil-maid attacker with physical access to the removable drive could replace a tool-tree directory with a symlink to a copy containing byte-identical files plus a planted __pycache__/*.pyc file (which CPython loads in preference to recompiling the clean .py). The planted file is never enumerated, added_files stays 0, and verify-usb reports PASSED, resulting in code execution when the victim runs the portable install. Fixed in 1.4.9 (affects both 1.4.x and 1.5.x lines).
Patch / fix
- pypi openssl-encrypt 1.4.9
- jahlives openssl_encrypt 1.4.9
Is CVE-2026-81690 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-81690 updated cvss 6.6
openssl-encrypt: openssl-encrypt: Arbitrary Code Execution via Symlink Directory Traversal
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.71% chance of exploitation in the next 30 days, higher than 53% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | openssl-encrypt | <1.4.9 |
1.4.9 |
Affected products
- jahlives openssl_encrypt
Classification
- Weakness
-
- CWE-59 Improper Link Resolution Before File Access
References
-
github.com
/jahlives/openssl_encrypt/security/advisories/GHSA-hw7h-wqf5-6crx
vendor-advisory, advisory
-
vulncheck.com
/advisories/verify-usb-before-1.4.9-symlink-directory-traversal-code-execution
third-party-advisory, advisory
Sources
- CVE List CVE-2026-81690
- NVD CVE-2026-81690
- OSV PYSEC-2026-3796
- Maintainer advisory GHSA-hw7h-wqf5-6crx
Fencer Intel 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.
The maintainers of jahlives/openssl_encrypt published their own advisory on GitHub. Reviewed sources take precedence over it.