CVE-2026-31402
nfsd: NFSv4.0 LOCKリプレイキャッシュにおけるヒープオーバーフローを修正
- 公開済み
- 2026/04/03
- 更新済み
- 2026/09/08
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/08/19
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 59.2%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linuxカーネルにおいて、以下の脆弱性が解決されました: nfsd: NFSv4.0 LOCKリプレイキャッシュのヒープオーバーフローを修正 NFSv4.0リプレイキャッシュは、エンコードされた操作応答を格納するために固定112バイトのインラインバッファ(rp_ibuf[NFSD4_REPLAY_ISIZE])を使用します。このサイズはOPEN応答に基づいて計算されており、競合するロック所有者を最大1024バイト(NFS4_OPAQUE_LIMIT)の可変長フィールドとして含むLOCK拒否応答を考慮していません。既存のロックと競合し、そのロックの所有者が大きいためにLOCK操作が拒否されると、nfsd4_encode_operation()は境界チェックなしでread_bytes_from_xdr_buf()を介して完全なエンコード応答をサイズ不足のリプレイバッファにコピーします。これにより、バッファの終端を最大944バイト超えてスラブアウトオブバウンズ書き込みが発生し、隣接するヒープメモリが破損します。これは、認証されていない攻撃者が2つの連携するNFSv4.0クライアントを使用してリモートからトリガーできます: 1つのクライアントが大きな所有者文字列を持つロックを設定し、もう1つのクライアントが競合するロックを要求して拒否を誘発します。NFSD4_REPLAY_ISIZEを完全なオペークを許容するように増やすことで修正できますが、そうするとすべてのstateownerのサイズが増加し、ほとんどのlockownerはそれほど大きくありません。代わりに、リプレイバッファにコピーする前にエンコードされた応答の長さをNFSD4_REPLAY_ISIZEと照合することで修正します。応答が大きすぎる場合は、rp_buflenを0に設定してリプレイペイロードのキャッシュをスキップします。ステータスは引き続きキャッシュされ、クライアントは元のリクエストで正しい応答をすでに受信しています。
ソース
1CVE-2026-31402
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。