CVE-2025-69418

4.0 MEDIUM

📋 TL;DR

This vulnerability in OpenSSL's low-level OCB API exposes the last 1-15 bytes of a message in cleartext and unauthenticated when using hardware-accelerated code paths with non-block-aligned lengths. It only affects applications that directly call CRYPTO_ocb128_encrypt() or CRYPTO_ocb128_decrypt() with such inputs, not typical users of higher-level EVP APIs or TLS.

💻 Affected Systems

Products:
  • OpenSSL
Versions: OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, and 1.1.1
Operating Systems: All operating systems running affected OpenSSL versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when applications directly call low-level OCB functions (CRYPTO_ocb128_encrypt/decrypt) with non-block-aligned lengths on hardware-accelerated builds. FIPS modules and OpenSSL 1.0.2 are not affected.

📦 What is this software?

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

Openssl by Openssl

OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.

Learn more about Openssl →

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could read or tamper with the trailing bytes of encrypted data without detection, potentially exposing sensitive information or altering message integrity in affected applications.

🟠

Likely Case

Limited exposure due to the niche usage of low-level OCB APIs; most real-world applications using standard OpenSSL interfaces remain unaffected, resulting in minimal impact.

🟢

If Mitigated

If applications avoid direct low-level OCB calls with non-block-aligned lengths or use unaffected configurations, the risk is negligible with no practical exploitation.

🌐 Internet-Facing: LOW, as the vulnerability requires specific, uncommon API usage and is not exploitable via typical network protocols like TLS.
🏢 Internal Only: LOW, since exploitation depends on internal application code using vulnerable low-level functions, which is rare in most environments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires knowledge of application internals using vulnerable API calls; no public exploits are known, and the niche nature reduces weaponization likelihood.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Apply patches from OpenSSL commits (e.g., 372fc5c77529695b05b4f5b5187691a57ef5dffc) or upgrade to a fixed version when released.

Vendor Advisory: https://github.com/openssl/openssl/commit/372fc5c77529695b05b4f5b5187691a57ef5dffc

Restart Required: Yes

Instructions:

1. Check OpenSSL version with 'openssl version'. 2. If vulnerable, apply patches from provided GitHub commits or wait for official OpenSSL update. 3. Recompile and reinstall OpenSSL. 4. Restart affected applications or services.

🔧 Temporary Workarounds

Avoid low-level OCB API usage

all

Modify applications to use higher-level EVP APIs for OCB encryption/decryption, which are not affected.

Review and refactor code to replace CRYPTO_ocb128_encrypt/decrypt calls with EVP interfaces.

Ensure block-aligned inputs

all

If low-level OCB APIs must be used, ensure input lengths are multiples of 16 bytes to avoid the vulnerable code path.

Implement padding or validation in application code to enforce 16-byte alignment for OCB operations.

🧯 If You Can't Patch

  • Audit applications for direct usage of CRYPTO_ocb128_encrypt/decrypt and disable or modify them if possible.
  • Implement network segmentation and access controls to limit exposure of affected systems to untrusted networks.

🔍 How to Verify

Check if Vulnerable:

Check if OpenSSL version is 3.6, 3.5, 3.4, 3.3, 3.0, or 1.1.1 and review application code for direct calls to CRYPTO_ocb128_encrypt/decrypt with non-block-aligned lengths.

Check Version:

openssl version

Verify Fix Applied:

After patching, verify OpenSSL version is updated and test OCB operations with non-block-aligned inputs to ensure no cleartext exposure.

📡 Detection & Monitoring

Log Indicators:

  • Unusual application errors or warnings related to OCB encryption/decryption failures in logs.

Network Indicators:

  • No specific network indicators, as exploitation is application-specific and not network-based.

SIEM Query:

Search for application logs containing 'OCB' or 'CRYPTO_ocb128' calls with error messages, if logging is enabled.

🔗 References

📤 Share & Export