JVNDB-2026-032050 | |
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。isofsのRock Ridgeにおけるシンボリックリンク(SL)コンポーネントをSLレコード内に拘束する処置が行われました。get_symlink_chunk()関数およびparse_rock_ridge_inode_internal()関数内のSL処理は、Rock Ridgeの"SL"(シンボリックリンク)レコードの可変長コンポーネントを順に読み進めます。各コンポーネントは2バイトのヘッダー(flags, len)とlenバイトのテキストで構成されており、合計でslp->len + 2バイトを占めます。両ループはslp->lenを読み取り次のコンポーネントに進みますが、get_symlink_chunk()関数はさらにmemcpy(rpnt, slp->text, slp->len)を実行します。しかし、いずれの関数もコンポーネントがSLレコード内に存在するかを参照前に検証していません。細工されたSLレコードのコンポーネントがレコード(rr->len)の範囲を超えて長さ(len)を宣言している場合、最大255バイトの範囲外読み取りが発生する可能性があります。例えば、レコードが小さなkmalloc()で割り当てられた継続ブロックの末尾にある場合(CEレコード経由で辿られる場合など)、読み取りは割り当て領域を越えて行われます。get_symlink_chunk()関数は読み取り済みの範囲外のバイトをreadlink()によりユーザ空間に返すシンボリックリンク本体にコピーしてしまい、隣接するカーネルメモリを漏洩させる恐れがあります。ISO 9660イメージは信頼できないリムーバブルメディアから日常的にマウントされており、デスクトップ環境はCAP_SYS_ADMIN権限なしで自動マウント(例: udisks2経由)を行うため、レコード内容は攻撃者によって制御される可能性があります。レコード内の残りのバイト数に収まらないコンポーネントは利用前に拒否されます。get_symlink_chunk()関数では既存の出力バッファ(plimit)チェックと同様にNULLを返し、不正なレコードの場合はreadlink()が-EIOエラーで失敗するように処理します。parse_rock_ridge_inode_internal()関数ではinodeのサイズ内で走査を停止するように改善されています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.1 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/25 |
| 登録日 | 2026/09/04 |
| 最終更新日 | 2026/09/04 |



