Skip to main content

openssl_encrypt EUVDEUVD-2026-67064

| CVE-2026-81714 CRITICAL
Improper Verification of Cryptographic Signature (CWE-347)
2026-08-27 VulnCheck GHSA-xrf2-fg77-9588
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Precompute colliding 32-bit GPG key id
  2. Delivery
    Deliver malicious signing key to operator
  3. Exploit
    Operator confirms short key id
  4. Execution
    Attacker key enrolled as trust anchor
  5. Persist
    Sign malicious plugins with trusted key
  6. Impact
    Plugins pass ENFORCE policy and execute

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Requires openssl_encrypt <= 1.4.8 with the plugin-signing feature in use, and specifically an operator invoking enroll_trust_key and confirming a trust anchor by a short (~32-bit) GPG key id instead of the full primary-key fingerprint; the ENFORCE signature policy must be active for the forged anchor to translate into accepted malicious plugins. The attacker must precompute a GPG key whose short key id collides under the suffix-tolerant match and must get that key in front of the operator during enrollment. Limiting factors: exploitation depends on operator interaction and a specific insecure verification habit (trusting short ids), on the attacker performing 32-bit collision/brute-force work, and on a plugin delivery path - it is not a hands-off remote attack against a default configuration despite the input vector's PR:N/UI:N.

Impact

The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:H/VI:H/VA:H, score 9.3 'critical') overstates ease of exploitation relative to the description: the flaw is only triggered when an operator actively runs enroll_trust_key and confirms a short key id, which is real user interaction and non-trivial attack complexity, not the AC:L/UI:N the vector claims - verify this discrepancy against the vendor advisory. No EPSS score, no CISA KEV entry, and no public proof-of-concept were provided, so there is no evidence of active or automated exploitation; the realistic risk is a targeted supply-chain/trust attack requiring attacker collision work plus operator error rather than mass exploitation. That said, the outcome is severe (malicious code execution via trusted plugins bypassing the ENFORCE policy), so any team running openssl_encrypt with plugin signing should treat upgrading to 1.4.9 as a priority even though the practical bar is higher than the 9.3 headline suggests.

Exploit ScenarioDerived

An attacker precomputes a GPG key whose short 32-bit key id collides with (or shares the matched suffix of) a key an operator intends to trust, and distributes it through the plugin/key channel. When the operator runs enroll_trust_key and confirms the short id, the attacker's colliding key is bound as a trusted anchor; the attacker then ships plugins signed by that key which pass the ENFORCE signature policy and execute in the application's context. No public exploit code was identified, but generating a 32-bit key-id collision is computationally feasible.

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

Signature-trust bypass in the openssl_encrypt Python library (PyPI 'openssl-encrypt') versions 1.4.8 and earlier lets an attacker get a forged GPG key enrolled as a plugin-signing trust anchor. Because enroll_trust_key matches key fingerprints with a suffix-tolerant comparison, an operator who verifies only a short (~32-bit, forgeable) GPG key id can be tricked into trusting an attacker-controlled colliding key, which then validly signs malicious plugins even under the strict ENFORCE signature policy. No CISA KEV listing and no public exploit identified at time of analysis; the fix is in 1.4.9.

RemediationAI

Vendor-released patch: upgrade openssl_encrypt to 1.4.9 or later, which enforces exact full-fingerprint matching during trust-anchor enrollment (pip install --upgrade openssl-encrypt). If you cannot upgrade immediately, the specific compensating control is to never confirm or enroll a plugin-signing trust anchor by its short GPG key id: require operators to compare the complete 40-character primary-key fingerprint out-of-band before enrolling, and audit any already-enrolled trust anchors to confirm each maps to the intended full fingerprint rather than just a matching suffix (side effect: manual verification slows enrollment and must be enforced procedurally since the vulnerable code will still accept a suffix match). Where feasible, temporarily disable dynamic plugin loading or restrict enrollment to an offline, tightly controlled process until patched. Refer to GHSA-xg52-638v-jc5m and the VulnCheck advisory for authoritative guidance.

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 encryption utility (PyPI package 'openssl-encrypt', CPE cpe:2.3:a:jahlives:openssl_encrypt) that supports a plugin system whose plugins must be signed and validated against enrolled GPG trust anchors. The root cause is CWE-347 (Improper Verification of Cryptographic Signature): enroll_trust_key compared the operator-confirmed identifier against key material using suffix-tolerant matching rather than a full-fingerprint equality check. GPG short key ids are only 32 bits, a keyspace small enough to brute-force a collision, so a partial/suffix match against a short id allows a different (attacker) key to satisfy the trust-anchor binding. Version 1.4.9 remediates this by requiring the confirmed value to exactly equal the full primary-key fingerprint (case-insensitive, whitespace-stripped).

Know when OpenSSL 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.5 HIGH

AC:H and UI:R because exploitation needs a precomputed 32-bit key-id collision plus an operator actively enrolling/confirming the key; PR:N as the attacker needs no target privileges; C/I/A:H from malicious plugin code execution.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/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
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 (pip: openssl-encrypt) versions <= 1.4.8 use suffix-tolerant fingerprint matching in enroll_trust_key when binding a plugin-signing trust anchor. An operator who confirms a short (forgeable, ~32-bit) GPG key id could unknowingly enroll an attacker's colliding key as a trusted anchor, which then vouches for malicious plugins under the ENFORCE signature policy. Version 1.4.9 fixes this by requiring the confirmed value to exactly match the full primary-key fingerprint (case-insensitive, whitespace-stripped).

Executive ViewAI

Why It Matters

The openssl_encrypt Python library (versions 1.4.8 and earlier) contains a signature trust bypass vulnerability that allows attackers to forge GPG signing keys and enroll them as trusted plugin signers. An operator relying on short GPG key identifiers can be deceived into trusting an attacker-controlled key, enabling malicious plugins to be validly signed even under strict enforcement policies. This creates a critical supply chain risk for any organization using this library for plugin verification.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Rare
niche single-author PyPI encryption library, minimal 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-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2021-3711 CRITICAL POC
9.8 Aug 24

In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2016-0800 MEDIUM POC
5.9 Mar 01

The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se

CVE-2015-0204 MEDIUM POC
4.3 Jan 09

The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k

CVE-2022-2068 HIGH
7.3 Jun 21

In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas

CVE-2015-4000 LOW POC
3.7 May 21

The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro

CVE-2014-3566 LOW POC
3.4 Oct 15

The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2015-1793 MEDIUM POC
6.5 Jul 09

The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

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