| Title | LinuxのLinux Kernelにおける配列インデックスの検証に関する脆弱性 |
|---|---|
| Summary | 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配列のサイズをより明確に表現するように修正しました。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | April 3, 2026, midnight |
| Registration Date | May 22, 2026, 10:58 a.m. |
| Last Update | May 22, 2026, 10:58 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | 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 | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月22日] 掲載 |
May 22, 2026, 10:58 a.m. |
| Summary | 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 |
|---|---|
| Publication Date | April 4, 2026, 1:16 a.m. |
| Registration Date | April 15, 2026, 11:24 a.m. |
| Last Update | April 7, 2026, 10:21 p.m. |