Skip to main content

openssl_encrypt CVE-2026-74872

| EUVDEUVD-2026-60091 CRITICAL
Untrusted Search Path (CWE-426)
2026-08-17 VulnCheck GHSA-ccp9-5g7c-pj86
9.3
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.3 CRITICAL
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/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
vuln.today AI
7.8 HIGH

Exploitation needs local write access to a site-packages directory (AV:L, PR:L for an unprivileged user), no interaction, and yields full native code execution (C:H/I:H/A:H).

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Source Code Evidence Fetched
Aug 17, 2026 - 13:19 vuln.today
Analysis Generated
Aug 17, 2026 - 13:19 vuln.today
Patch available
Aug 17, 2026 - 12:01 EUVD
CVE Published
Aug 17, 2026 - 11:04 cve.org
CRITICAL 9.3

DescriptionCVE.org

openssl_encrypt versions before 1.4.0 contain an arbitrary code execution vulnerability in the Whirlpool hash implementation that uses broad glob patterns to load .so modules without integrity verification. Attackers can place malicious .so files matching the whirlpool*py313*.so pattern in site-packages directories to achieve native code execution when the module is loaded.

AnalysisAI

Arbitrary native code execution in the jahlives openssl_encrypt Python package (all versions before 1.4.0) arises from its Whirlpool hash routine loading .so extension modules via a broad glob pattern without any integrity check. An attacker who can drop a file matching 'whirlpool*py313*.so' into a site-packages directory gets their code executed in-process the moment the hashing module is imported. Reported by VulnCheck; a vendor patch (1.4.0) exists, and there is no public exploit identified at time of analysis.

Technical ContextAI

The affected component is openssl_encrypt/modules/registry/hash_registry.py (lines 570-589), a pure-Python cryptography helper distributed on PyPI as openssl-encrypt. To provide a Whirlpool hash, it enumerates site.getsitepackages() directories, runs glob.glob() against the pattern 'whirlpool*py313*.so', takes the FIRST match, and loads it through importlib's ExtensionFileLoader / exec_module - running the shared object's native init code. This maps to CWE-426 (Untrusted Search Path): the loader trusts an attacker-influenceable filesystem location and a wildcard filename rather than a pinned path, hash, or signature. Because it is an extension-module load, execution is fully native (not sandboxed Python), inheriting the privileges of the importing process. The CPE cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:* identifies the single affected product.

RemediationAI

Upgrade to the fixed release - Vendor-released patch: openssl-encrypt 1.4.0 (pip install --upgrade openssl-encrypt), which corresponds to upstream commit 963d0d1278b722ea134272f9df65fddcd3e6ab47 on branch releases/1.4.x; the fix adds os.path.realpath() symlink resolution and validates that any discovered .so resides within a known site-packages path before loading. Until you can upgrade, compensating controls include: restrict write permissions on all site-packages directories so only root/administrators can add files (side effect: breaks per-user 'pip install --user' workflows and in-place package edits); avoid invoking the Whirlpool hash code path if your usage allows selecting a different algorithm (side effect: functionality loss where Whirlpool is required); and run applications importing this package under least-privilege service accounts and file-integrity monitoring on site-packages to detect rogue whirlpool*py313*.so files. Advisory references for tracking: GHSA-j48q-4c78-rhf9 and the VulnCheck advisory above.

CVE-2026-81707 CRITICAL
9.3 Aug 27

Fingerprint-verification spoofing in jahlives openssl_encrypt before 1.4.9 lets attackers embed ANSI escape sequences in

CVE-2026-74895 CRITICAL
9.3 Aug 17

Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 allows attacker-supplied plugins to run wit

CVE-2026-74886 CRITICAL
9.3 Aug 17

Arbitrary code execution in jahlives openssl_encrypt before 1.4.0 stems from an inconsistent sandbox: the runtime Plugin

CVE-2026-74894 CRITICAL
9.3 Aug 17

Authentication bypass in the jahlives openssl_encrypt library (all versions before 1.4.0) lets remote unauthenticated at

CVE-2026-74878 CRITICAL
9.3 Aug 17

Authentication brute-force protection can be bypassed in jahlives openssl_encrypt before 1.4.0 because the TOTP rate lim

CVE-2026-74899 CRITICAL
9.3 Aug 17

Sandbox escape in the openssl_encrypt Python library (jahlives) before 1.4.0 lets attacker-supplied plugin code break ou

CVE-2026-74900 CRITICAL
9.3 Aug 17

Cryptographic shared-secret disclosure in the openssl_encrypt Python library (maintainer 'jahlives') before 1.4.0 lets a

CVE-2026-74896 CRITICAL
9.3 Aug 17

Sandbox escape leading to remote code execution affects openssl_encrypt (the jahlives Python package) in all versions be

CVE-2026-81719 CRITICAL
9.3 Aug 27

Arbitrary code execution in openssl_encrypt (the jahlives Python encryption utility) before 1.4.9 allows an attacker-sup

CVE-2026-81701 CRITICAL
9.3 Aug 27

Arbitrary code execution in jahlives openssl_encrypt before 1.4.9 stems from a flawed plugin trust model that uses a den

CVE-2026-74880 CRITICAL
9.3 Aug 17

Sensitive-token exposure in openssl_encrypt (the jahlives Python package, pip 'openssl-encrypt') before 1.4.0 stems from

CVE-2026-81698 CRITICAL
9.3 Aug 27

Arbitrary command execution in jahlives' openssl_encrypt before 1.4.9 arises when the tool's 'info' command reconstructs

Share

CVE-2026-74872 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy