CVE-2026-81341 PUBLISHED

wolfEngine reuses the AES-CCM nonce on TLS 1.2 / DTLS 1.2 records

Assigner: wolfSSL
Reserved: 26.08.2026 Published: 28.08.2026 Updated: 28.08.2026

wolfEngine before 1.4.1 sources the explicit AES-CCM nonce for TLS 1.2 and DTLS 1.2 records from the record input buffer instead of the TLS sequence number carried in the additional authenticated data. Because the record layer leaves the explicit-nonce field for the cipher to populate, the value read is constant across records, so every AES-CCM record within a connection is encrypted under an identical key and nonce pair. Reusing a CCM key and nonce weakens confidentiality (identical keystream across records, so a known record recovers the others) and integrity (authentication tag forgery). Only wolfEngine is affected; wolfProvider is not. AES-GCM under wolfEngine is tracked separately. AES-CCM cipher suites are not enabled by default and must be explicitly selected, which limits exposure. TLS 1.3 and non-TLS use of the cipher are not affected.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
CVSS Score: 6.5

Product Status

Vendor wolfSSL Inc.
Product wolfEngine
Versions Default: unaffected
  • affected from 0 to 1.4.0 (incl.)

Solutions

Upgrade to wolfEngine 1.4.1, which sources the explicit AES-CCM nonce from the TLS sequence number. As an interim mitigation do not enable AES-CCM cipher suites, or use TLS 1.3.

Credits

  • wolfSSL security team finder

References

Problem Types

  • CWE-323 Reusing a Nonce, Key Pair in Encryption CWE