CVE-2025-69418: Unauthenticated/unencrypted trailing bytes with low-level OCB function calls
Issue summary: When using the low-level OCB API directly with AES-NI or<br>other hardware-accelerated code paths, inputs whose length is not a multiple<br>of 16 bytes can leave the final partial block unencrypted and unauthenticated.<br><br>Impact summary: The trailing 1-15 bytes of a message may be exposed in<br>cleartext on encryption and are not covered by the authentication tag,<br>allowing an attacker to read or tamper with those bytes without detection.<br><br>The low-level OCB encrypt and decrypt routines in the hardware-accelerated<br>stream path process full 16-byte blocks but do not advance the input/output<br>pointers. The subsequent tail-handling code then operates on the original<br>base pointers, effectively reprocessing the beginning of the buffer while<br>leaving the actual trailing bytes unprocessed. The authentication checksum<br>also excludes the true tail bytes.<br><br>However, typical OpenSSL consumers using EVP are not affected because the<br>higher-level EVP and provider OCB implementations split inputs so that full<br>blocks and trailing partial blocks are processed in separate calls, avoiding<br>the problematic code path. Additionally, TLS does not use OCB ciphersuites.<br>The vulnerability only affects applications that call the low-level<br>CRYPTO_ocb128_encrypt() or CRYPTO_ocb128_decrypt() functions directly with<br>non-block-aligned lengths in a single call on hardware-accelerated builds.<br>For these reasons the issue was assessed as Low severity.<br><br>The FIPS modules in 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected<br>by this issue, as OCB mode is not a FIPS-approved algorithm.<br><br>OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 and 1.1.1 are vulnerable to this issue.<br><br>OpenSSL 1.0.2 is not affected by this issue.
Security readout for executives and security teams
Plain-English summary
A narrow OpenSSL OCB-mode bug can leave the last 1-15 bytes of some encrypted messages readable and modifiable. Most applications are not exposed because normal EVP use and TLS avoid the affected path. Risk is mainly for custom software calling low-level OCB functions directly.
Executive priority
Treat as targeted cleanup, not emergency response. Prioritize custom cryptography users, embedded products, and vendor appliances over normal TLS services. Patch during the next controlled maintenance window unless code review confirms direct low-level OCB exposure.
Technical view
Hardware-accelerated low-level OCB encrypt/decrypt paths can mishandle non-16-byte-aligned input in a single CRYPTO_ocb128_encrypt() or CRYPTO_ocb128_decrypt() call. Tail bytes may remain unencrypted and excluded from authentication. Affected versions include OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, and 1.1.1; 1.0.2 is not affected.
Likely exposure
Exposure is likely uncommon. It requires direct use of low-level OCB APIs with non-block-aligned lengths on hardware-accelerated builds. Typical EVP consumers, provider OCB implementations, TLS, and listed OpenSSL FIPS modules are stated as not affected.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. Impact is limited to confidentiality and integrity of trailing partial-block bytes, with high attack complexity and no availability impact in the provided CVSS vector.
Researcher notes
The important discriminator is API usage, not merely OpenSSL presence. The advisory explicitly excludes typical EVP consumers, TLS, OpenSSL 1.0.2, and listed FIPS modules. Evidence supports patch availability for several maintained branches but does not provide exploit observations.
Mitigation direction
Upgrade affected OpenSSL branches to vendor-fixed releases where available.
For OpenSSL 1.1.1 deployments, check vendor or support-channel guidance.
Avoid direct low-level OCB calls with partial-block input where practical.
Prefer higher-level EVP/provider OCB interfaces documented as avoiding this path.
Track downstream vendor advisories, including Siemens where relevant.
Validation and detection
Inventory OpenSSL versions in applications, appliances, and embedded products.
Search code for direct CRYPTO_ocb128_encrypt() or CRYPTO_ocb128_decrypt() use.
Confirm whether calls pass non-16-byte-aligned lengths in a single operation.
Check whether affected builds use AES-NI or other hardware acceleration.
Verify deployed OpenSSL includes the relevant vendor patch commit or 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-325: 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.
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-325 · source CWE mapping
Missing Cryptographic Step
Missing Cryptographic Step represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.