CVE-2026-55967: AES-GCM Counter Wraparound in wolfSSL Streaming APIs
A cryptographic flaw in wolfSSL's AES-GCM streaming implementation fails to reject messages larger than 64 GiB, causing the encryption counter to wrap around and reuse the same keystream. This allows attackers to recover plaintext from encrypted data without knowing the encryption key. The vulnerability requires network access and no authentication, making it a serious confidentiality risk for any application using wolfSSL's streaming APIs with large messages.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses (CWE)
- CWE-323
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-06-26
NVD description (verbatim)
AES-GCM encryption/decryption with extremely large cumulative single message sizes (>64 GiB) were not properly rejected by the streaming APIs, allowing counter wrap, keystream reuse, and consequent plaintext recovery.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-55967 is an improper input validation flaw (CWE-323) in wolfSSL's AES-GCM authenticated encryption with associated data (AEAD) implementation. The streaming API does not enforce the cryptographic limit of 2^39 - 256 bits (~64 GiB) of plaintext per key-nonce pair. When a single message exceeds this threshold, the internal counter overflows and restarts, causing keystream repetition. An attacker observing multiple ciphertexts encrypted under the same key and nonce with large messages can XOR them to recover plaintext. This breaks the semantic security guarantee of AES-GCM and violates NIST SP 800-38D specifications.
Business impact
Organizations relying on wolfSSL for TLS, embedded systems, IoT devices, or custom applications handling large encrypted streams face exposure of sensitive data transmitted or stored via AES-GCM. Financial impact includes potential data breach notification costs, regulatory fines under GDPR/HIPAA, loss of customer trust, and remediation overhead. The vulnerability is particularly severe for long-lived connections, backup systems, or any workload processing multi-gigabyte files under a single encryption context.
Affected systems
wolfSSL versions prior to the patched release are affected. Any application statically linked or dynamically loading vulnerable wolfSSL libraries and using the streaming AES-GCM encryption APIs with message sizes exceeding 64 GiB is at risk. This includes embedded TLS implementations, VPN clients, secure communications stacks, and custom cryptographic applications. Verify against wolfSSL's security advisory for exact patched versions and supported branches.
Exploitability
Exploitation requires network-level visibility of encrypted traffic or access to encrypted data at rest. An attacker must capture multiple ciphertexts produced with the same key-nonce pair and messages exceeding 64 GiB to perform cryptanalysis. While the technical bar is high, the absence of authentication or privilege requirements and the complete compromise of confidentiality make this a practical threat in scenarios involving large file encryption, streaming protocols, or persistent connections. No exploit code is publicly known at this time.
Remediation
Update wolfSSL to the patched version released to address this flaw. Verify the specific version number and patch status from wolfSSL's official security advisory. As an interim measure, limit single-message sizes to under 64 GiB, rotate keys before approaching this threshold, or migrate away from streaming APIs if alternative implementations enforce size limits. For defense-in-depth, apply network segmentation to reduce unauthorized observation of encrypted traffic.
Patch guidance
wolfSSL has released a patch to validate message size limits in the streaming AES-GCM implementation. Consult the official wolfSSL security advisory to identify the minimum patched version for your branch (stable, LTS, or development). Test the patch in a non-production environment to ensure compatibility with your TLS configuration and any custom cryptographic operations. Priority: immediate for systems processing messages approaching or exceeding 64 GiB.
Detection guidance
Monitor application logs for warnings or errors related to message size validation in AES-GCM operations. Use packet analysis to identify large encrypted streams under a single TLS session; legitimate use cases are rare. Query wolfSSL version strings in running processes and compare against patch advisories. Review application code for direct use of wolfSSL's streaming encryption APIs outside of standard TLS handshakes. Implement cryptographic telemetry to flag unusual message sizes or extended key-nonce reuse patterns.
Why prioritize this
The HIGH CVSS score (7.5) reflects complete loss of confidentiality with no authentication barriers. Although the 64 GiB threshold limits real-world exploitation, industries handling large encrypted volumes—backup providers, cloud storage, scientific computing, video streaming—must prioritize patching. The flaw is fundamental to the cryptographic implementation, not a configuration issue, making it impossible to mitigate fully without updating the library.
Risk score, explained
CVSS 3.1 score of 7.5 (HIGH) is justified by: AV:N (network-accessible vulnerability), AC:L (no special conditions required), PR:N (no privilege needed), UI:N (no user interaction), S:U (impact isolated to confidentiality within the vulnerable system), C:H (high confidentiality impact—plaintext recovery). The score does not account for the high technical bar of needing messages >64 GiB, which is reflected in the reduced CVSS but does not lower the severity of the underlying cryptographic failure.
Frequently asked questions
Does this affect standard TLS connections using wolfSSL?
Only if a single TLS record or handshake message exceeds 64 GiB, which is extremely rare in normal TLS usage. However, applications using wolfSSL's streaming APIs directly for large file encryption or custom protocols are at significant risk. Review your application's use of wolfSSL beyond standard TLS.
What is the 64 GiB threshold and why is it important?
AES-GCM uses a 32-bit counter internally. At 2^39 - 256 bits of plaintext (approximately 64 GiB), the counter exhausts its space and wraps, reusing the keystream. This violates a fundamental cryptographic guarantee: the same key and nonce must never produce the same keystream twice. The threshold is defined in NIST SP 800-38D.
Can I rotate keys as a workaround?
Yes, rotating the encryption key before any single message reaches 64 GiB reduces risk, but it is not a full fix. The underlying vulnerability—failure to validate message size—remains. A patch is the correct solution. Workarounds should only be temporary measures.
Is this vulnerability publicly exploited?
No public exploit or KEV (Known Exploited Vulnerability) listing exists at this time. However, the cryptographic flaw is well-understood in academic literature on AES-GCM, and motivated attackers with network access could craft an exploit. Do not delay patching based on lack of active exploitation.
This analysis is provided for informational purposes and does not constitute professional security advice. Patch version numbers and timelines must be verified against wolfSSL's official security advisory. Organizations should conduct their own impact assessment and testing before deploying patches. SEC.co makes no warranty regarding the completeness or accuracy of exploit details or attack scenarios. Always follow your vendor's recommended remediation process and consult with your security team. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-11999HIGHwolfSSL X.509 Trust Chain Bypass in OpenSSL Compatibility Mode
- CVE-2026-55961HIGHwolfSSL PKCS#7 Signature Verification Bypass
- CVE-2026-6091MEDIUMwolfSSL Partial-Chain Certificate Verification Bypass
- CVE-2026-6291MEDIUMwolfSSL PKCS#7 Bleichenbacher Padding Oracle Key Recovery
- CVE-2016-20062HIGHSQL Injection in Simply Poll 1.4.1 WordPress Plugin - Unauthenticated Data Theft
- CVE-2016-20063HIGHSQL Injection in Single Personal Message 1.0.3 – Credential & Data Theft Risk
- CVE-2016-20065HIGHUnauthenticated SQL Injection in Product Catalog 8 WordPress Plugin
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability