|
VRDA Feed
by
Vulnerability Response Decision Assistance Feed : 脆弱性脅威分析用情報の定型データ配信 |
[ about VRDA Feed | JPCERT/CC ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 分析対象脆弱性情報 (リビジョン番号 : 1) | [ Download XML ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB-2026-032016 ( CVE-2026-64436 | CVE-2026-64436 ) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| https://jvndb.jvn.jp/ja/contents/2026/JVNDB-2026-032016.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
原文Linuxカーネルにおいて、以下の脆弱性が解決されました。net: af_key: IPComp状態のためにalg_key_lenを初期化しなかった問題です。pfkey_msg2xfrm_state()は、IPComp (SADB_X_SATYPE_IPCOMP) の場合を処理する際に、x->calgを割り当ててアルゴリズム名だけをコピーしています。```x->calg = kmalloc_obj(*x->calg);if (!x->calg) { err = -ENOMEM; goto out;}strcpy(x->calg->alg_name, a->name);x->props.calgo = sa->sadb_sa_encrypt;```同じ関数内の認証(x->aalg)および暗号化(x->ealg)のブランチとは異なり、圧縮ブランチはcalg->alg_key_lenを初期化していませんでした。IPCompはキーを持たず、割り当てるのはsizeof(struct xfrm_algo)のみ(キー領域なし)であるため、このフィールドは初期化されていないスラブデータのまま残っていました。calg->alg_key_lenは、XFRM_MSG_MIGRATE中にIPComp状態のクローン作成時にxfrm_algo_clone()で長さとして用いられます。```xfrm_state_migrate() xfrm_state_clone_and_setup() x->calg = xfrm_algo_clone(orig->calg); kmemdup(orig, xfrm_alg_len(orig));```ここでxfrm_alg_len()は sizeof(*alg) + (alg_key_len + 7) / 8 を返します。初期化されていない(ゴミ値の)alg_key_lenが非ゼロの場合、kmemdup()は68バイトのcalgオブジェクトの末尾を越えて読み込みます。PF_KEY経由でIPComp SAを追加し、それを移行すると(net-next, KASAN, init_on_alloc=0環境下で)以下のようなバグが発生します。```BUG: KASAN: slab-out-of-bounds in kmemdup_noprof+0x44/0x60Read of size 4164 at addr ff11000025a74980 by task diag2/9287CPU: 3 UID: 0 PID: 9287 Comm: diag2 7.1.0-rc6-g903db046d557 #1Call Trace: <TASK> dump_stack_lvl+0x10e/0x1f0 print_report+0xf7/0x600 kasan_report+0xe4/0x120 kasan_check_range+0x105/0x1b0 __asan_memcpy+0x23/0x60 kmemdup_noprof+0x44/0x60 xfrm_state_migrate+0x70a/0x1da0 xfrm_migrate+0x753/0x18a0 xfrm_do_migrate+0xb47/0xf10 xfrm_user_rcv_msg+0x411/0xb50 netlink_rcv_skb+0x158/0x420 xfrm_netlink_rcv+0x71/0x90 netlink_unicast+0x584/0x850 netlink_sendmsg+0x8b0/0xdc0 ____sys_sendmsg+0x9f7/0xb90 ___sys_sendmsg+0x134/0x1d0 __sys_sendmsg+0x16d/0x220 do_syscall_64+0x116/0x7d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f</TASK>アロケート元タスク9287: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_kmalloc+0xaa/0xb0 pfkey_add+0x2652/0x2ea0 pfkey_process+0x6d0/0x830 pfkey_sendmsg+0x42c/0x850 __sys_sendto+0x461/0x4b0 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0x116/0x7d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f```問題のアドレスはオブジェクトff11000025a74980に属し、これはサイズ96のkmalloc-96キャッシュのものです。問題のアドレスは割り当てられた68バイト領域[ff11000025a74980, ff11000025a749c4)の先頭0バイトの位置にあります。未初期化の値によっては、同じフィールドが過剰なkmemdup()の割り当てを要求し、移行クローンを失敗させることもあります。XFRMのnetlink経路には影響はありません。verify_one_alg()関数はxfrm_alg_len()より短いXFRMA_ALG_COMP属性を拒否するため、XFRM_MSG_NEWSA経由で追加されたcalgは常に自己整合性があります。これらを踏まえ、calg->alg_key_lenを0で初期化し、aalgおよびealgのブランチに合わせました。翻訳 (表示) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
この情報について
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析情報提供元:
|
JVN iPedia
|
初版公開日:
|
2026-09-04 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析対象脆弱性情報の分類:
|
アドバイザリ・注意喚起
|
最終更新日:
|
2026-09-04 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の影響を受ける製品の識別子
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cpe:/o:linux:linux_kernel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の分析内容
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
関連情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common Vulnerabilities and Exposures (CVE) CVE-2026-64436 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| National Vulnerability Database (NVD) CVE-2026-64436 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
参考情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB CWE-125 境界外読み取り | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3f63d1752d90c0e28be931a48ab5d89bc97d637d) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/58e82fc3dedb57b1432292504415b224fd2d6acb) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/01b9115b55018123ef2449ac4951f89147a8428e) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cea34abc94b0a81e3a8b5cfb41cf45af37c2c67e) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d129c3177d7b1138fd5066fcc63a698b3ba415b0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e8417353cbd078d10531ba3928e609c84ab09e6b) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/273c06b81d2e902b21acc801ae18c8276c8a9b69) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 net: af_key: initialize alg_key_len for IPComp states - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6de2a650917bedaaefd65b17cede83c5e2c1dedd) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2026 JPCERT/CC All Rights Reserved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||