JVNDB-2026-032003 | |
LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。staging: vme_userにおいて、スレーブの読み書きをkern_bufサイズに制限する問題です。SLAVEパスのヘルパー関数buffer_to_user()およびbuffer_from_user()は、固定サイズのkern_buf(size_buf == PCI_BUF_SIZE == 0x20000、128KiB)に対し、*pposをオフセットとして用いて'count'バイトをコピーしますが、*ppos + count が size_buf を超えないように制限していませんでした。vme_user_write()/vme_user_read()ではcountをVMEウィンドウサイズ(image_size = vme_get_size(resource))に制限しています。このVMEウィンドウサイズはユーザーから与えられるslave.sizeをVME_SET_SLAVEが設定し、VMEアドレス空間(最大 VME_A32_MAX = 4GiB)に対して検証していますが、PCI_BUF_SIZEに対しては検証していませんでした。ウィンドウサイズが128KiBを超える場合、write()/read()はkern_bufの割り当て範囲を超えてコピーしてしまいます。両ヘルパー関数ではcountをsize_bufに対し制限し、*pposがバッファの終端またはそれ以降の場合は早期リターンを行うようにしました。ここで*pposは0以上(呼び出し元が負のオフセットを拒否するため)であるため、size_buf - *ppos がオーバーフローすることはありません。この修正は、MASTERパスのヘルパーresource_to_user()/resource_from_user()における既存の制限と一致しており、read()/write()の終端での短い転送という慣例にも合わせています。この問題は静的解析(CodeQLのテイントトラッキングとCBMCの有界モデル検査)によって発見され、その後KASANを利用したvme_fakeブリッジ上での動的確認により確証されました。具体的には以下のようなエラーが報告されています:BUG: KASAN: slab-out-of-bounds in _copy_from_user+0x2d/0x80 Write of size 262144 at addr ffff888004100000 by task trigger/68 _copy_from_user+0x2d/0x80 vme_user_write+0x13e/0x240 [vme_user] vfs_write+0x1b8/0x7a0 ksys_write+0xb8/0x150 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/25 |
| 登録日 | 2026/09/04 |
| 最終更新日 | 2026/09/04 |



