CVE-2026-6766
tls13_AEAD における整数アンダーフロー → SSL_AeadDecrypt 経由のワイルドアドレス書き込み
- ベンダー
- Mozilla — Firefox NSS (libssl3)
- 深刻度
- Medium · CVSS 5.3
- CWE
- CWE-191 (整数アンダーフロー)
- 検証環境
- GCP e2-standard-4 · Ubuntu 22.04 · ASAN
- パッチ適用
- Firefox 150 および Firefox ESR 140.10 で修正
## 技術概要
SSL_AeadDecrypt() がAEADタグ長(AES-128-GCMで16バイト)より短い暗号文で呼び出されると、tls13_AEAD 内の符号なし減算がアンダーフローして約4GBまで巻き戻り、結果として生成された不正な tag ポインタが Intel AES-GCM復号パスでSEGVを引き起こします。任意のリモートQUICピアから到達可能で、外部PKCS#11モジュール利用環境に影響。
## lib/ssl/tls13con.c:5150 — 脆弱な AEAD 復号パス
/* tls13_AEAD() — decrypt path */
if (decrypt) {
inLen = inLen - tagLen; /* BUG: inLen >= tagLen のチェックなし */
tag = (unsigned char *)in + inLen; /* アンダーフロー時に不正ポインタ */
}
rv = PK11_AEADOp(context, ivGen, fixedbits, ivOut, ivLen,
aad, aadLen, out, (int *)outLen, maxout,
tag, tagLen, in, inLen);## AddressSanitizer 出力(抜粋)
==2914==ERROR: AddressSanitizer: SEGV on unknown address
WRITE メモリアクセス起因のシグナル (wild-addr-write)。
#0 intel_aes_gcmDEC intel-gcm.S:1186
#1 platform_AES_GCM_DecryptAEAD intel-gcm-wrap.c:503
#2 sftk_AES_AEAD softoken/sftkmessage.c:321
#3 PK11_AEADRawOp pk11/pk11cxt.c:1426
#4 tls13_AEAD (decrypt=1) lib/ssl/tls13con.c:5151 inLen=0xFFFFFFF5
SUMMARY: 符号なし (inLen - tagLen) アンダーフローによるワイルド書き込み