Skip to main content

openssl_encrypt CVE-2026-81702

| EUVDEUVD-2026-67058 CRITICAL
Insufficient Verification of Data Authenticity (CWE-345)
2026-08-27 VulnCheck GHSA-m2gh-w3fj-x92v
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain write or supply control of identity.json
  2. Delivery
    Replace victim's public key, keep claimed fingerprint
  3. Exploit
    Library loads identity without re-deriving fingerprint
  4. Execution
    Encryption targets attacker key / forged signatures accepted
  5. Impact
    Silent disclosure and integrity compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

Exploitation requires the attacker to substitute public keys inside an identity store loaded from identity.json - that is, the ability to modify, replace, or supply the identity.json file that the victim's openssl_encrypt instance loads. The specific enabling condition is that vulnerable versions (before 1.4.9) do not re-derive and validate the fingerprint on load, so a swapped key that keeps the original claimed fingerprint is accepted silently. Exploitation is limited by the need to reach the identity store: environments where identity.json is a local file writable only by a trusted user are far harder to attack than those where the store is shared, network-synced, or fetched from an untrusted source. There is no user interaction beyond normal identity loading and no authentication to the library itself required by design.

Impact

The published CVSS 4.0 score of 9.3 with vector AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:H reflects a worst-case, network-unauthenticated framing, but the concrete prerequisite - the ability to modify or supply a malicious identity.json - is not clearly a pure remote-no-privilege condition, so the network/no-privilege metrics likely overstate reachability for typical local-file identity stores; verify the deployment's identity-distribution model with the vendor. I also disagree with the availability impact (VA:H): this is a confidentiality/integrity trust-bypass, not a denial-of-service, so availability impact is realistically none. There is no EPSS score, no CISA KEV listing, and no evidence of a public proof-of-concept in the provided data, indicating this is currently a high-severity design flaw rather than a demonstrated mass-exploitation event. The real-world danger is high where the identity store is shared, synced, or fetched over an untrusted channel, because exploitation is silent and defeats the very fingerprint check operators rely on to detect tampering.

Exploit ScenarioDerived

An attacker gains write access to (or controls the distribution of) a victim's identity.json and replaces a legitimate contact's public key with their own, leaving the stored fingerprint unchanged. The victim's openssl_encrypt then encrypts sensitive data to the attacker's key and validates attacker-forged signatures as genuine, all without any warning. No public proof-of-concept is currently identified, but the technique is straightforward given control of the identity store.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 27, 2026

Silent cryptographic key substitution affects openssl_encrypt (the jahlives Python encryption library) before 1.4.9, which loads identities from identity.json without re-deriving and validating their fingerprints. An attacker who can tamper with an identity store can swap in their own public keys while preserving the claimed fingerprint, so the library encrypts data to attacker-controlled keys and treats attacker signatures as valid without any visible warning. No public exploit has been identified at time of analysis, and the flaw is not listed in CISA KEV.

RemediationAI

Vendor-released patch: 1.4.9 - upgrade openssl_encrypt to 1.4.9 or later, which restores re-derivation and validation of fingerprints when identities are loaded from identity.json (see GHSA-q8p3-7h6h-ghfr). Until the upgrade is applied, treat every identity.json as untrusted input: restrict write access to the identity store to a single trusted owner and use filesystem permissions plus integrity monitoring (for example a signed hash of the store checked before use) so unexpected modifications are detected, accepting that this adds an operational verification step. If identity stores are distributed or synchronized between hosts, move that distribution onto an authenticated, integrity-protected channel and re-verify each key's fingerprint out-of-band before trusting it, since the library itself will not catch a substituted key on affected versions. Reference advisories: https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-q8p3-7h6h-ghfr and https://www.vulncheck.com/advisories/openssl-encrypt-before-1.4.9-key-substitution-via-identity-load.

Affected VersionsENISA

openssl_encrypt 0 <1.4.9

Affected Packages

pypi openssl-encrypt fix: 1.4.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

openssl_encrypt is a Python library that wraps OpenSSL primitives and manages cryptographic identities (keypairs and their fingerprints) persisted in an identity.json store. The root cause is CWE-345 (Insufficient Verification of Data Authenticity): fingerprints are meant to bind a public key to a trusted identity, but the vulnerable versions trust the fingerprint value stored alongside the key instead of recomputing it from the key material on load. Because the fingerprint is never re-derived and compared to the actual key, the integrity check that should detect a swapped key is effectively absent, breaking the trust anchor for both encryption target selection and signature verification. The single affected package is identified by CPE cpe:2.3:a:jahlives:openssl_encrypt:*:*:*:*:*:*:*:* for all versions prior to 1.4.9.

Know when Openssl Encrypt gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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
vuln.today AI 9.1 CRITICAL

Attacker supplies a tampered identity store whose fingerprint is never re-derived, so the check is trivially bypassed (AC:L); high confidentiality and integrity impact from silent key substitution, but no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 27, 2026 - 18:02 EUVD
CVE Published
Aug 27, 2026 - 14:51 cve.org
CRITICAL 9.3

DescriptionCVE.org

openssl_encrypt before 1.4.9 fails to re-derive and validate fingerprints when loading identities from identity.json, allowing attackers to substitute public keys in identity stores. Attackers can replace legitimate public keys with their own while maintaining the claimed fingerprint, enabling silent key substitution where encryption uses attacker keys and signature verification appears valid.

Executive ViewAI

Why It Matters

A critical vulnerability in the jahlives Python encryption library allows attackers with access to identity stores to silently substitute cryptographic keys while preserving fingerprints, enabling unauthorized decryption of sensitive data and forging of digital signatures without detection. All organizations using this library for encryption or authentication face complete compromise of data confidentiality and authenticity.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict file system permissions on identity.json and key stores to authorized application processes only; implement file integrity monitoring and checksums to detect key substitution attempts; monitor system and filesystem access logs for unauthorized modifications to identity stores; segment affected systems on isolated networks; review backup access controls to prevent identity store tampering via restore operations.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Rare
niche single-maintainer Python encryption library, minimal enterprise footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-74872 CRITICAL
9.3 Aug 17

Arbitrary native code execution in the jahlives openssl_encrypt Python package (all versions before 1.4.0) arises from i

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

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