CVE-2023-52636 in Linux
要約
〜によって VulDB • 2026年05月21日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
libceph: ソケット上で利用可能なデータを待つようにする
ソケットからメッセージのフッターを読み取る際に、短絡的な読み取り(short read)が発生する可能性があります。その後、ソケットが次の読み取り準備が整った状態になると、メッセンジャーは `read_partial_sparse_msg_data()` を含むすべての `read_partial_*()` ハンドラを呼び出します。期待される動作としては、`read_partial_sparse_msg_data()` が早期終了(bail)し、メッセンジャーがフッターに対して `read_partial()` を呼び出して、中断した箇所から処理を再開することです。
しかし、`read_partial_sparse_msg_data()` はこの期待に反し、OSD クライアント内のステートマシンを呼び出してしまいます。スパース読み取りのステートマシンはこれを新しい操作とみなし、フッターの一部をスパース読み取りのヘッダーとして解釈し、不正なエクステントやデータ長などを返します。
`read_partial_sparse_msg_data()` が早期終了すべきかどうかを判断するために、`cursor->total_resid` を再利用します。この値がゼロに達した場合は、最後の読み取りでエクステントとデータがすべて正常に受信されたことを意味し、そうでない場合は、エクステントやデータの読み取りが部分的に行われている場合に処理を中断できます。その後、`osd_sparse_read()` は中断した箇所から処理を再開できます。
[ idryomov: 変更履歴 ]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.