| タイトル | wolfSSL Inc.のwolfSSLにおける整数オーバーフローの脆弱性 |
|---|---|
| 概要 | wolfCryptのCMAC実装には整数オーバーフローが存在し、これによりCMACタグの偽造が可能でした。関数wc_CmacUpdateは、最初のブロック(ダイジェストがすべてゼロでXORが無効操作となる箇所)でXOR連鎖をスキップするために`if (cmac-totalSz != 0)`というガードを使用していました。しかし、totalSzはword32型であり、2^28ブロック(4GiB)後にゼロにラップアラウンドするため、このガードによって生きているCBC-MACチェーン状態が誤って破棄されてしまいます。4GiBの境界を超えて共通のサフィックスを共有する任意の2つのメッセージは、同一のCMACタグを生成し、ゼロ作業のプレフィックス置換による偽造を可能にします。この修正ではガードを削除し、XORを無条件化しました。最初のブロックでの無効操作の特性は、wc_InitCmac_exによってダイジェストがゼロ初期化されるため維持されます。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月10日0:00 |
| 登録日 | 2026年4月30日12:24 |
| 最終更新日 | 2026年4月30日12:24 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| wolfSSL Inc. |
| wolfSSL 5.9.0 およびそれ以前 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
2026年4月30日12:24 |
| 概要 | An integer overflow existed in the wolfCrypt CMAC implementation, that could be exploited to forge CMAC tags. The function wc_CmacUpdate used the guard `if (cmac->totalSz != 0)` to skip XOR-chaining on the first block (where digest is all-zeros and the XOR is a no-op). However, totalSz is word32 and wraps to zero after 2^28 block flushes (4 GiB), causing the guard to erroneously discard the live CBC-MAC chain state. Any two messages sharing a common suffix beyond the 4 GiB mark then produce identical CMAC tags, enabling a zero-work prefix-substitution forgery. The fix removes the guard, making the XOR unconditional; the no-op property on the first block is preserved because digest is zero-initialized by wc_InitCmac_ex. |
|---|---|
| 公表日 | 2026年4月10日15:16 |
| 登録日 | 2026年4月15日11:35 |
| 最終更新日 | 2026年4月14日0:02 |