CVE-2026-53391 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
NFSv4/pNFS: nfs4_decode_mp_ds_addr 内で r_addr の長さゼロを拒否する
nfs4_decode_mp_ds_addr() は、GETDEVICEINFO マルチパス-DSボディから netaddr4 の r_netid および r_addr オpaque をデコードし、直ちに strrchr(buf, '.') を呼び出してポート区切り文字を検出します。両方のデコード処理では xdr_stream_decode_string_dup() が使用されており、現在のコードは返された文字列を間接参照する前に "nlen < 0" および "rlen < 0" のチェックのみを行っています。
ネットワーク上のオpaqueの長さがゼロの場合、xdr_stream_decode_opaque_inline() は 0 を返し、xdr_stream_decode_string_dup() は "*str = NULL; return ret" という末尾処理に進み、buf が NULL で戻り値が 0 となります。「< 0」によるチェックはこのケースを検出できず、次の行で strrchr(NULL, '.') が実行され、悪意のあるまたは侵害されたメタデータサーバーに対してマウントされている任意の pNFS-flexfile クライアントから到達可能なカーネルのNULLポインタ間接参照が発生します。
デコーダがクライアントをパニックさせるのではなく -EBADMSG(不正なGETDEVICEINFOボディとして処理される)で失敗するように、長さゼロの場合を明示的に拒否します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.