Skip to main content

openssl_encrypt CVE-2026-81706

| EUVDEUVD-2026-67062 CRITICAL
Insufficient Verification of Data Authenticity (CWE-345)
2026-08-27 VulnCheck GHSA-q473-r68q-32vq
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Inject colliding contact into IdentityStore
  2. Delivery
    Shadow entry stays hidden under own identity
  3. Exploit
    Wait for own identity deletion
  4. Execution
    Contact resolves to attacker keys
  5. Persist
    Victim encrypts files to attacker key
  6. Impact
    Attacker decrypts substituted files

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 two concrete conditions drawn from the description: (1) the attacker must be able to create a contact entry in the target's IdentityStore whose namespace collides with an existing own identity (identity shadowing), and (2) the corresponding own identity must subsequently be deleted, which is the event that makes the shadowed contact resolve to the attacker's keys. The limiting factor is that the payload is dormant and only activates on the victim-controlled deletion of the matching own identity - the attacker cannot force this timing - so despite the PR:N/UI:N rating, real exploitation depends on both getting a colliding contact accepted and the victim later removing the shadowed own identity.

Impact

The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H, 9.3) rates this as network-reachable and unauthenticated with high impact across all three dimensions, but the description reveals meaningful preconditions that temper raw severity: the attacker must first get a colliding contact entry into the victim's IdentityStore, and exploitation only 'fires' when the victim later deletes the matching own identity - a specific, victim-driven event rather than an at-will attacker action. There is no EPSS score, no KEV listing, and no evidence of a public POC in the provided data, so this is best treated as a high-impact-but-not-yet-demonstrated cryptographic weakness rather than a mass-exploitation event. That said, because the failure mode is silent - encrypted files simply resolve to the wrong keys with no user-visible error - any operator relying on openssl_encrypt for at-rest or in-transit file confidentiality should treat the upgrade to 1.4.9 as urgent, since the damage (attacker-decryptable files) is discovered only after the fact. Note the tension between the flat AT:N/AC:L rating and the description's staged 'delete the own identity' trigger; a defender should read real-world exploit complexity as higher than the vector alone suggests.

Exploit ScenarioDerived

An attacker submits or otherwise injects a contact into the victim's IdentityStore whose namespace identifier deliberately collides with one of the victim's own identities; the entry stays invisible because the own identity takes precedence. Later, when the victim retires or deletes that own identity, the shadowed contact becomes the active resolution and points at the attacker's key, so every file the victim now encrypts for that identity is silently encrypted to the attacker. No public POC is identified at time of analysis; the network attack vector and low base complexity mean the hard part for the attacker is planting the entry and waiting for the deletion trigger.

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 in jahlives openssl_encrypt before 1.4.9 lets attackers register 'shadow' contact entries in the IdentityStore whose namespace collides with a user's own identity, staying hidden until that own identity is deleted. Once the own identity is removed, the attacker-controlled contact surfaces and resolves to the attacker's keys, so files subsequently encrypted for that identity are protected with keys the attacker holds. No public exploit is identified at time of analysis, and the issue is not in CISA KEV; the high CVSS 4.0 score (9.3) reflects the severe confidentiality and integrity impact of undetected key substitution.

RemediationAI

Upgrade to openssl_encrypt 1.4.9 or later, which is the vendor-released fix that enforces namespace separation between own identities and contacts (Vendor-released patch: 1.4.9; see GHSA-8gmx-w9m8-vx7q). Until you can upgrade, avoid deleting own identities while colliding or untrusted contacts may exist, and audit the IdentityStore for contact entries whose identifiers collide with your own identities before performing any identity deletion - the trade-off is that this is a manual, error-prone check that does not prevent shadow entries from being planted. As a stronger compensating control, restrict who can add contacts to the store and verify recipient key fingerprints out-of-band before encrypting sensitive files, accepting the operational overhead of manual fingerprint verification. After upgrading, re-verify that files encrypted during the vulnerable window resolved to the intended keys, since key substitution is silent.

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-based file encryption utility (CPE cpe:2.3:a:jahlives:openssl_encrypt) that maintains an IdentityStore holding both the user's 'own identities' (with private keys) and 'contacts' (recipient public identities). The root cause is CWE-345, Insufficient Verification of Data Authenticity: the store does not enforce namespace separation or uniqueness between own-identity records and contact records, so two entries can share the same logical identifier. This collision means identity resolution is ambiguous, and the resolution order masks a colliding contact while the own identity exists, then falls back to the contact once the own identity is deleted - effectively trusting an attacker-supplied public key as if it were the legitimate identity.

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 7.4 HIGH

PR:N since planting a contact needs no victim credentials, but AC:H because exploitation hinges on a colliding entry plus the victim later deleting the own identity; C/I:H from key substitution, A:N as availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/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 prevent namespace collisions between own identities and contacts in IdentityStore, allowing attackers to create shadowed contact entries invisible until the corresponding own identity is deleted. When the own identity is deleted, the shadowed contact becomes visible and resolves to the attacker's keys, enabling silent key substitution for encrypted files.

Executive ViewAI

Why It Matters

Jahlives openssl_encrypt versions before 1.4.9 contain a critical vulnerability enabling undetected encryption key substitution that compromises confidentiality and integrity of encrypted data. Attackers can inject hidden contact entries that later surface as legitimate user identities, causing subsequent file encryption to use attacker-controlled keys; no public exploit identified at time of analysis. Organizations using this library face potential exposure of sensitive data to unauthorized decryption.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: implement cryptographic verification of all identity-associated keys before use in encryption operations; enforce strict role-based access controls on identity creation and deletion functions; deploy real-time logging and alerting for identity store modifications and key substitution patterns; conduct periodic audits of identity-to-key mappings; consider contingent migration to alternative encryption libraries pending patch availability.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Rare
niche individual-maintainer Python encryption utility, negligible enterprise footprint
Data Quality
6 sources
Confidence: High

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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

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