ANT-2026-SB4PHA43 · wolfssl/wolfssl
crypto-failure medium
CVE-2026-5446 GHSA-vgv9-mv66-mpc7
Severity Claude high · Security research firm high · Maintainer medium
Discovered by Claude Mythos Preview
Anthropic's analysis, sealed at approval. Disclosure to the maintainer was performed by Calif.
ANT-2026-SB4PHA43: ARIA-GCM Nonce Reuse in TLS 1.2 Record Encryption in wolfSSL
The ARIA-GCM implementation reuses nonces when encrypting TLS 1.2 records.
Target
Project: wolfSSL
Discovery: static analysis — not yet dynamically reproduced
Reproduction
This finding was identified by static analysis and has not yet been dynamically reproduced. A trigger input is not included.
[No reproducer or sanitizer output attached — request from security-cvd@anthropic.com if needed.]
Acknowledgement
This vulnerability was discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research. Please direct questions to security-cvd@anthropic.com and reference ANT-2026-SB4PHA43.
Reference: ANT-2026-SB4PHA43
Anthropic CVD Policy: https://www.anthropic.com/coordinated-vulnerability-disclosure
Triage and disclosure were performed by Calif.
- Verdict
- true positive
- Severity
- high
The change that resolved this finding.
diff --git a/src/internal.c b/src/internal.c
index 516f7ccc683..70a7f42569d 100644
--- a/src/internal.c
+++ b/src/internal.c
@@ -19714,7 +19714,9 @@ static int DoDtlsHandShakeMsg(WOLFSSL* ssl, byte* input, word32* inOutIdx,
#if (!defined(NO_PUBLIC_GCM_SET_IV) && \
((defined(HAVE_FIPS) || defined(HAVE_SELFTEST)) && \
(!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)))) || \
- (defined(HAVE_POLY1305) && defined(HAVE_CHACHA))
+ (defined(HAVE_POLY1305) && defined(HAVE_CHACHA)) || \
+ defined(HAVE_ARIA) || \
+ defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
static WC_INLINE void AeadIncrementExpIV(WOLFSSL* ssl)
{
int i;
@@ -20701,10 +20703,9 @@ static WC_INLINE int Encrypt(WOLFSSL* ssl, byte* out, const byte* input,
sizeof(ssl->encrypt.sanityCheck));
#endif
- #if defined(BUILD_AESGCM) || defined(HAVE_AESCCM) || defined(HAVE_ARIA)
+ #if defined(BUILD_AESGCM) || defined(HAVE_AESCCM)
if (ssl->specs.bulk_cipher_algorithm == wolfssl_aes_ccm ||
- ssl->specs.bulk_cipher_algorithm == wolfssl_aes_gcm ||
- ssl->specs.bulk_cipher_algorithm == wolfssl_aria_gcm)
+ ssl->specs.bulk_cipher_algorithm == wolfssl_aes_gcm)
{
/* finalize authentication cipher */
#if !defined(NO_PUBLIC_GCM_SET_IV) && \
@@ -20715,7 +20716,17 @@ static WC_INLINE int Encrypt(WOLFSSL* ssl, byte* out, const byte* input,
if (ssl->encrypt.nonce)
ForceZero(ssl->encrypt.nonce, AESGCM_NONCE_SZ);
}
- #endif /* BUILD_AESGCM || HAVE_AESCCM || HAVE_ARIA */
+ #endif /* BUILD_AESGCM || HAVE_AESCCM */
+ #ifdef HAVE_ARIA
+ if (ssl->specs.bulk_cipher_algorithm == wolfssl_aria_gcm)
+ {
+ /* finalize authentication cipher — wc_AriaEncrypt is
+ * stateless, so the explicit IV must always advance */
+ AeadIncrementExpIV(ssl);
+ if (ssl->encrypt.nonce)
+ ForceZero(ssl->encrypt.nonce, AESGCM_NONCE_SZ);
+ }
+ #endif /* HAVE_ARIA */
#if defined(WOLFSSL_SM4_GCM) || defined(WOLFSSL_SM4_CCM)
if (ssl->specs.bulk_cipher_algorithm == wolfssl_sm4_ccm ||
ssl->specs.bulk_cipher_algorithm == wolfssl_sm4_gcm)https://github.com/wolfSSL/wolfssl/commit/6495e8e94
Dates from discovery through public reveal.
- 2026-03-29 Reported to tracker
- 2026-05-07 Sent to maintainer
- 2026-05-07 Patch released
- 2026-05-07 Maintainer acknowledged
- 2026-05-20 Publicly revealed
SHA-3-512 hash:
42db4adeeadfd87fee4e773a054ec682b406867ffe8d0e9cc84b22a2c51a7726959887e1bc23098eea81effa882b38313a69a5acc6a465e8d3162b57e754ed79
Committed 2026-05-07 00:03 PT
Revealed 2026-05-20 00:40 PT
Verify (download preimage.json)
Show preimage JSON
{
"ant_id": "ANT-2026-SB4PHA43",
"bug_class": "Cryptographic Nonce Reuse",
"claude_severity": "high",
"commit_sha": null,
"created_at": "2026-03-29T20:42:29+00:00",
"description": "The ARIA-GCM implementation reuses nonces when encrypting TLS 1.2 records.",
"discovered_at": null,
"location": null,
"poc_sha256": null,
"preimage_version": 1,
"project": "wolfSSL",
"reproduction": null,
"technical_details": null,
"title": "ARIA-GCM Nonce Reuse in TLS 1.2 Record Encryption in wolfSSL",
"vendor_severity": "high"
}