| タイトル | LinuxのLinux Kernelにおける配列インデックスの検証に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました。net: usb: cdc_ncmでは、NDP16のnframes境界チェックにndpoffsetを追加しました。cdc_ncm_rx_verify_ndp16()はNDPヘッダーとそのDPEエントリがskb内に収まっているかを検証します。最初のチェックはndpoffsetを正しく考慮しています:if ((ndpoffset + sizeof(struct usb_cdc_ncm_ndp16)) skb_in-len)。しかし、2つ目のチェックはこれを省略しています:if ((sizeof(struct usb_cdc_ncm_ndp16) + ret * (sizeof(struct usb_cdc_ncm_dpe16))) skb_in-len)。これはNDPがオフセット0にあるかのようにDPE配列サイズをskb全体の長さと比較しており、実際にはndpoffsetにあるべきです。NDPがNTBの末尾近く(大きなwNdpIndex)に配置されると、DPEエントリはskbデータバッファを越えてしまい、チェックを通過してしまいます。その結果、cdc_ncm_rx_fixup()はDPE配列を反復処理する際にバッファ外のメモリを読み取ってしまいます。この問題を解決するために、nframesの境界チェックにndpoffsetを追加し、struct_size_t()を使用してNDPとDPE配列のサイズをより明確に表現するように修正しました。 |
| 想定される影響 | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月3日0:00 |
| 登録日 | 2026年5月22日10:58 |
| 最終更新日 | 2026年5月22日10:58 |
| CVSS3.0 : 重要 | |
| スコア | 7.8 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 3.8 以上 6.6.130 未満 |
| Linux Kernel 6.13 以上 6.18.20 未満 |
| Linux Kernel 6.19 以上 6.19.10 未満 |
| Linux Kernel 6.7 以上 6.12.78 未満 |
| Linux Kernel 7.0 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月22日] 掲載 |
2026年5月22日10:58 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: net: usb: cdc_ncm: add ndpoffset to NDP16 nframes bounds check cdc_ncm_rx_verify_ndp16() validates that the NDP header and its DPE if ((ndpoffset + sizeof(struct usb_cdc_ncm_ndp16)) > skb_in->len) but the second check omits it: if ((sizeof(struct usb_cdc_ncm_ndp16) + This validates the DPE array size against the total skb length as if Add ndpoffset to the nframes bounds check and use struct_size_t() to |
|---|---|
| 公表日 | 2026年4月4日1:16 |
| 登録日 | 2026年4月15日11:24 |
| 最終更新日 | 2026年4月7日22:21 |