|
VRDA Feed
by
Vulnerability Response Decision Assistance Feed : 脆弱性脅威分析用情報の定型データ配信 |
[ about VRDA Feed | JPCERT/CC ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 分析対象脆弱性情報 (リビジョン番号 : 1) | [ Download XML ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB-2026-032002 ( CVE-2026-64450 | CVE-2026-64450 ) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| https://jvndb.jvn.jp/ja/contents/2026/JVNDB-2026-032002.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
原文Linuxカーネルにおいて、以下の脆弱性が修正されました。tipcのbroadcast Gap ACKブロックにおけるバッファ境界外読み取りの問題です。broadcastのPROTOCOL/STATE_MSGは、そのデータ領域にGap ACKブロックのレコードを含むことがあります。tipc_get_gap_ack_blks()関数は、レコードのlenフィールドがugack_cntおよびbgack_cntの合計(sz == struct_size(p, gacks, ugack_cnt + bgack_cnt))と自己整合性があるかどうかのみを検証しており、そのレコードがメッセージのデータ領域(msg_data_sz())内に実際に収まっているかはチェックしていません。ユニキャストの呼び出し元であるtipc_link_proto_rcv()は「if (glen > dlen) break;」で境界を検査していますが、ブロードキャストの呼び出し元であるtipc_bcast_sync_rcv()は戻り値のサイズを破棄するため、tipc_link_advance_transmq()関数は攻撃者に制御されたカウントで受信したskbからレコードをコピーしてしまいます。this_ga = kmemdup(ga, struct_size(ga, gacks, ga->bgack_cnt), GFP_ATOMIC); TIPC_GAP_ACK_BLOCKをネゴシエートしたTIPCの隣接ノードは、data領域が短い通常のbroadcast STATE_MSG(msg_bc_ack_invalid()はクリアされる)を使用し、len=0x400、bgack_cnt=0xff、ugack_cnt=0のGap ACKレコードを送信して本脆弱性を引き起こします。lenはstruct_size(p, gacks, 255)となり一貫性チェックを通過し、gaはNULLではないため、kmemdup()はより小さいskbからstruct_size(ga, gacks, 255) = 1024バイトを読み取ります。 BUG: KASAN: slab-out-of-bounds in kmemdup_noprof+0x48/0x60 Read of size 1024 at addr ffff0000c7030d38 by task poc864/69 Call trace: kmemdup_noprof+0x48/0x60 tipc_link_advance_transmq+0x86c/0xb80 tipc_link_bc_ack_rcv+0x19c/0x1e0 tipc_bcast_sync_rcv+0x1c4/0x2c4 tipc_rcv+0x85c/0x1340 tipc_l2_rcv_msg+0xac/0x104 バグのあるアドレスはサイズ704バイトのskbuff_small_headキャッシュ内のオブジェクトffff0000c7030d00に属し、割り当てられた704バイト領域[ffff0000c7030d00, ffff0000c7030fc0)の56バイト内に位置しています。コピーアウトされたバイト列はその後gap/ack値として消費されますが、kmemdup()での読み取り自体が既にバッファ境界外であり、その使用方法に関わらず問題となります。ユニキャストのSTATE経路はこのようなメッセージを破棄し、「if (glen > dlen) break;」によりSTATE_MSGの処理をスキップしてskbを解放します。ブロードキャスト経路でも同様に破棄するようにしました。現在、tipc_bcast_sync_rcv()はmsg_data_sz()に対してレコードの境界を検査し、収まらない場合はtipc_node_bc_sync_rcv()を介してtipc_rcv()に報告し、skbは処理されず破棄されます。この経路ではgaはクリアされません。ga == NULLは既に「Selective ACK非対応のレガシーピア」であることを意味し、別の正当な状態を示しています。翻訳 (表示) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
この情報について
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析情報提供元:
|
JVN iPedia
|
初版公開日:
|
2026-09-04 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析対象脆弱性情報の分類:
|
アドバイザリ・注意喚起
|
最終更新日:
|
2026-09-04 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の影響を受ける製品の識別子
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cpe:/o:linux:linux_kernel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の分析内容
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
関連情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common Vulnerabilities and Exposures (CVE) CVE-2026-64450 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| National Vulnerability Database (NVD) CVE-2026-64450 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
参考情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB CWE-125 境界外読み取り | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/74b45af86a767594ba52330cd440ea84e24d700d) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2b66974a1b6134a4bbc3bfed181f7418f688eb54) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2de42e268174766cb2e2b90721afdfdff70e0d8d) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/016f5995c37a5a2c45198308f830f244517d70b7) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9a51115fcdc78687c8852bf93a1db3951dbb223b) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a21ed5064217cc33726da6c7ef1a520eba43aea1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f333b6851bdf326fd2134133272dbbed0c94d921) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 tipc: fix out-of-bounds read in broadcast Gap ACK blocks - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/055663d21dc4336f67933ab26bef3c5934be6324) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2026 JPCERT/CC All Rights Reserved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||