JVNDB-2026-024705 | |
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。bpf: sock_opsにおける、同じレジスタのdst/srcの境界外読み取り(OOB)およびポインタリークの問題に対する修正です。BPFのsock_opsプログラムがdst_reg == src_regの場合にctxフィールドへアクセスすると、SOCK_OPS_GET_SK()およびSOCK_OPS_GET_FIELD()マクロが!fullsock/!locked_tcp_sockパスで宛先レジスタをゼロクリアしない不具合がありました。両マクロはdst_regがctxポインタを保持するため、dst_reg == src_regのときにis_fullsock/is_locked_tcp_sockチェックのため一時レジスタを借ります。このチェックが偽の場合(例:request_sockを持つTCP_NEW_SYN_RECV状態)、dst_regはゼロクリアされるべきですがされず、古いctxポインタが残ってしまいます。具体的には、- SOCK_OPS_GET_SKではdst_regがctxポインタのまま残り、PTR_TO_SOCKET_OR_NULLによるNULLチェックを通過し、偽のソケットポインタとして使われる可能性があるため、bpf_skc_to_tcp6_sock()などのヘルパーでスタックの境界外アクセスが発生します。- SOCK_OPS_GET_FIELDではdst_regがctxポインタのままであり、検証機がこれをSCALAR_VALUEとみなすことでカーネルポインタがリークします。これら両マクロの修正点は以下の通りです。- fullsockパスのJMP_A(1)をJMP_A(2)に変更し、追加命令をスキップするようにしました。- !fullsockパスで一時レジスタ復元後にBPF_MOV64_IMM(si->dst_reg, 0)を追加しました。dst_reg == src_regであるため、src_regはctx->temp読み取りに必要であり、復元後にゼロクリアを行っています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/24 |
| 登録日 | 2026/07/23 |
| 最終更新日 | 2026/07/23 |



