CVE-2026-81690

Source
https://cve.org/CVERecord?id=CVE-2026-81690
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-81690.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-81690
Aliases
  • GHSA-hw7h-wqf5-6crx
Published
2026-08-27T14:50:55.418Z
Modified
2026-08-28T11:30:35.598747199Z
Severity
  • 8.7 (High) CVSS_V4 - 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 CVSS Calculator
Summary
verify-usb before 1.4.9 Symlink Directory Traversal Code Execution
Details

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 ONOFOLLOW 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, addedfiles 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).

Database specific
{
    "cna_assigner": "VulnCheck",
    "cwe_ids": [
        "CWE-59"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/81xxx/CVE-2026-81690.json"
}
References

Affected packages

Git / github.com/jahlives/openssl_encrypt

Affected ranges

Type
GIT
Repo
https://github.com/jahlives/openssl_encrypt
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "1.4.9"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "DESCRIPTION"
    ]
}

Affected versions

v1.*
v1.4.0
v1.4.1rc1
v1.4.1rc2
v1.4.2
v1.4.4
v1.4.5
v1.4.6
v1.4.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-81690.json"