CVE-2026-80561 in Linux情報

要約

〜によって VulDB • 2026年08月26日

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

libceph: decode_locker()における複数の安全でないデコード処理の修正

cls_lock_client.c内のdecode_locker()関数には、悪意のあるOSD(Object Storage Daemon)または侵害されたOSDがスラブ外境界読み出しをトリガーさせることができる3つの安全でないデコード操作が含まれています:

1. locker_id_tの名前フィールドにおけるceph_decode_copy()は、先行する境界チェックがありません。ceph_start_decoding()でstruct_len=0を受け入れた後p == endとなった場合、検証済みバッファの境界を超えてsizeof(ceph_entity_name) = 9バイト分読み出されます。

2. locker_info_tヘッダ後の*p += sizeof(struct ceph_timespec)はチェックされていないポインタ進捗です。悪意のあるOSDはpをendより先に位置させることができ、その結果、すべての後続の_safeチェックが偽りの境界に対して通過してしまいます。

3. len = ceph_decode_32(p)には先行する境界チェックがなく、直後に続く*p += lenにも上限がありません。悪意のあるOSDはlen=0xffffffffを送信し、pをendよりギガバイト単位で進ませてデコードウィンドウから完全に脱出させることができます。

これら3つすべてを、裸の操作を安全なバリアントに置き換えることで修正します: ceph_decode_copy -> ceph_decode_copy_safe *p += sizeof(...) -> ceph_decode_skip_n ceph_decode_32(p) -> ceph_decode_32_safe *p += len -> ceph_decode_skip_n

境界違反が発生した場合に-EINVALを返すための新しいラベルが追加されます。-EINVALはここで適切です:OSDから受信されたデータは構造的に不正であり、呼び出し元か通信路のどちらに責任があるかに関わらず、デコード契約に対して無効な引数となります。

攻撃者モデル:マルチテナントCeph展開環境における悪意のあるまたは侵害されたOSDは、ロック.get_infoクラスメソッド(例:RBD排他ロック取得時など)を発行するすべてのカーネルクライアントに対し、OSDセッション確立以上の権限を一切必要とせずにこれをトリガーできます。

[idryomov: 説明をスキップするためにceph_decode_skip_string()を使用し、変更履歴を整形]

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-395857

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to know what is going to be exploited?

We predict KEV entries!