CVE-2026-75803: AEAD Forgeries with Empty Ciphertext When Using EVP_Cipher()
Issue summary: ChaCha20-Poly1305 and AES-OCB decryption with an empty
ciphertext can report success without verifying the supplied authentication
tag when the operation is finalized by calling the EVP_Cipher() function.
Impact summary: Applications calling EVP_Cipher() on an empty ciphertext and
expecting the call to check the AEAD tag may accept forged messages.
CWE: CWE-354 (Improper Validation of Integrity Check Value)
Description: The EVP_Cipher() API call for AEAD ciphers behaves like a one
shot encryption and decryption call. It also verifies the AEAD tag after the
decryption operation. However for AES-OCB and ChaCha20-Poly1305 ciphers
it skipped the AEAD tag verification when an empty ciphertext was passed to
the function. The callers of this function might believe that a successful
return indicates a valid AEAD tag for these ciphers, even when that has not
truly been validated in this case.
FIPS impact: no
The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this CVE
as the affected algorithms are not FIPS approved and thus not implemented
in the FIPS module.
Security readout for executives and security teams
Plain-English summary
A flaw in specific OpenSSL authenticated-decryption paths can make a forged, empty encrypted message appear authentic. Systems could trust attacker-controlled messages when using EVP_Cipher() with ChaCha20-Poly1305 or AES-OCB and relying on its success result. Severity is critical, but exposure depends on this narrow application pattern.
Executive priority
Treat as urgent for exposed applications, while using code-path validation to avoid indiscriminate emergency changes. Immediately inventory affected OpenSSL use, prioritize remotely reachable message-processing systems, and deploy the appropriate vendor patch after focused testing.
Technical view
During EVP_Cipher() decryption, ChaCha20-Poly1305 and AES-OCB skip AEAD tag verification when ciphertext is empty, yet can return success. This is CWE-354. The CVSS 3.1 score is 9.1, with high confidentiality and integrity impact and no scored availability impact.
Likely exposure
Potential exposure requires an identified OpenSSL version, one of the two affected algorithms, attacker-influenced empty ciphertext, and EVP_Cipher()-based tag validation. The bundle identifies versions 4.0.0, 3.6.0, 3.5.0, 3.4.0, and 3.0.0. Listed FIPS modules are unaffected because these algorithms are not implemented there.
Exploitation context
CISA KEV status is false, and the supplied sources do not report active exploitation. The network-accessible CVSS vector indicates potential remote abuse where applications expose the vulnerable data path. The bundle provides no evidence about exploit prevalence, public proof-of-concept availability, or affected-application prevalence.
Researcher notes
The failure is specific to empty-ciphertext decryption finalized through EVP_Cipher(); ordinary non-empty ciphertext is not described as affected. The FIPS modules listed in the advisory are unaffected. The supplied version data does not fully define every affected patch-level range, so confirm exact package status with OpenSSL or downstream vendors.
Mitigation direction
Apply the cited branch patch corresponding to 4.0.2, 3.6.4, 3.5.8, 3.4.7, or 3.0.22.
Follow the OpenSSL advisory and downstream vendor guidance for supported upgrade packages.
Until patched, reject empty ciphertext before affected EVP_Cipher() AEAD decryption paths.
Prioritize externally reachable services that process untrusted authenticated-encryption messages.
Validation and detection
Inventory runtime and statically linked OpenSSL versions, including application-bundled copies.
Identify EVP_Cipher() decryption using ChaCha20-Poly1305 or AES-OCB.
Determine whether untrusted inputs can supply empty ciphertext and an authentication tag.
Regression-test that invalid tags with empty ciphertext are rejected after remediation.
Verify deployed artifacts contain the appropriate cited patch or vendor-fixed release.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-354: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
7Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-354 · source CWE mapping
Improper Validation of Integrity Check Value
Improper Validation of Integrity Check Value represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.