CVE-2026-64317 in Linux情報

要約

〜によって VulDB • 2026年07月25日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

isofs: Rock Ridge シンボリックリンクのコンポーネントをSLレコードに制限する

get_symlink_chunk()およびparse_rock_ridge_inode_internal()内のSL処理は、Rock Ridge「SL」(シンボリックリンク)レコードの変長コンポーネントを走査します。各コンポーネントは2バイトのヘッダー(フラグ、長さ)で始まり、それに続くlenバイト分のテキストデータが含まれるため、slp->len + 2バイトを使用します。両方のループではslp->lenを読み取り次のコンポーネントへ進みますが、get_symlink_chunk() additionallyにはmemcpy(rpnt, slp->text, slp->len)を実行しています。しかし、どちらの処理でも、参照する前にそのコンポーネントがSLレコード内に収まっているかどうかをチェックしていません。

コンポーネントの長さがレコード(rr->len)を超えて宣言されているように作られた悪意のあるSLレコードは、最大255バイトにわたる境界外読み出しをトリガーします。このレコードがバックアップバッファの末尾にある場合(例えばCEレコードを通じて到達する小さなkmalloc()された継続ブロックなど)、読み出し操作は割り当て領域を超えて実行されます。その後get_symlink_chunk()は、境界外のデータをユーザー空間に返されるシンボリックリンク本体へコピーし、隣接するカーネルメモリを漏洩させます。

ISO 9660イメージは信頼できないリムーバブルメディアから定期的にマウントされており(デスクトップ環境ではudisks2などを介してCAP_SYS_ADMIN権限なしで自動マウントされるため)、レコードの内容は攻撃者が制御可能です。

使用する前に、残りのレコードバイト内に収まらないコンポーネントを拒否します。get_symlink_chunk()においては既存の出力バッファ(plimit)チェックと同様にNULLを返し、不正なレコードによってreadlink()が失敗した場合に切り捨てられたターゲットを静かに返すのではなく-EIOエラーで終了するようにします。parse_rock_ridge_inode_internal()ではinodeサイズの走査を停止させます。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383112

EPSS

0.00160

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!