| Title | LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました。slipでは、rstate配列が存在しないインスタンスでのVJ受信パケットを拒否します。slhc_init()はrslotsが0の場合を「受信圧縮なし」として有効な構成だと認識します。この場合、slhc_init()内の割り当てループはスキップされ、comp-rstateはNULLのままであり、comp-rslot_limitはstruct slcompressのkzallocによって0のまま保持されます。受信ヘルパーはこの構成に対して防御していません。VJヘッダーが明示的な接続IDを保持する場合、slhc_uncompress()はcomp-rstate[x]を参照し、slhc_remember()はパケットのスロット番号とcomp-rslot_limitを比較した後にcs = &comp-rstate[...]を割り当てます。rslot_limitが0であるため、スロット0は範囲チェックを通過してNULLのrstateをデリファレンスします。この構成はPPPを介してツリー内で到達可能です。PPPIOCSMAXCIDでは引数を符号付きintに格納し、(val 16)は算術シフトを使用しています。そのため、0xffff0000を渡すと符号拡張により-1となり、val2 + 1は0となってppp_generic.cはslhc_init(0, 1)を呼び出します。/dev/pppのオープンはns_capable(CAP_NET_ADMIN)で制御されているため、この経路は特権のないユーザ名前空間からも到達可能です。形成不良のVJ状態がインストールされると、任意の受信VJ圧縮または非圧縮フレームがスロット0を選択し、それがsoftirqコンテキストでカーネルクラッシュを引き起こします。これに対しては、rstateを参照する代わりに、そのようなインスタンスの受信側を拒否します。slhc_uncompress()は既存の'bad'ラベルにフォールスルーし、sls_i_errorをインクリメントしてtoss状態に入ります。slhc_remember()も明示的にsls_i_errorをインクリメントし、slhc_toss()を呼び出します。sls_i_runtカウンターはここでは使用されません。送信経路には影響はありません。ユーザ空間からrslotsを選ぶツリー内の唯一の呼び出し(ppp_generic.c)は依然としてtslots = 1を供給しており、slip.cは常にslhc_init(16, 16)を呼び出すため、comp-tstateは有効なままであり、slhc_compress()は引き続き動作します。 |
| Possible impacts | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | May 27, 2026, midnight |
| Registration Date | June 29, 2026, 11:17 a.m. |
| Last Update | June 29, 2026, 11:17 a.m. |
| CVSS3.0 : 警告 | |
| Score | 5.5 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 2.6.32.70 以上 2.6.33 未満 |
| Linux Kernel 3.10.96 以上 3.11 未満 |
| Linux Kernel 3.12.53 以上 3.13 未満 |
| Linux Kernel 3.14.60 以上 3.15 未満 |
| Linux Kernel 3.18.27 以上 3.19 未満 |
| Linux Kernel 3.2.75 以上 3.3 未満 |
| Linux Kernel 3.4.111 以上 3.5 未満 |
| Linux Kernel 4.1.17 以上 4.2 未満 |
| Linux Kernel 4.3.5 以上 5.10.258 未満 |
| Linux Kernel 5.11 以上 5.15.209 未満 |
| Linux Kernel 5.16 以上 6.1.175 未満 |
| Linux Kernel 6.13 以上 6.18.33 未満 |
| Linux Kernel 6.19 以上 7.0.10 未満 |
| Linux Kernel 6.2 以上 6.6.141 未満 |
| Linux Kernel 6.7 以上 6.12.91 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月29日] 掲載 |
June 29, 2026, 11:17 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: slip: reject VJ receive packets on instances with no rstate array slhc_init() accepts rslots == 0 as a valid configuration, with the The receive helpers do not defend against that configuration. The configuration is reachable in-tree through PPP. PPPIOCSMAXCID Oops: general protection fault, probably for non-canonical Reject the receive side on such instances instead of touching rstate. The transmit path is unaffected: the only in-tree caller that picks |
|---|---|
| Publication Date | May 27, 2026, 8:16 p.m. |
| Registration Date | May 28, 2026, 4:10 a.m. |
| Last Update | June 2, 2026, 2:17 a.m. |