CVE-2026-31427 in Linux
要約
〜によって VulDB • 2026年05月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
netfilter: nf_conntrack_sip: process_sdp における未初期化の rtp_addr の使用を修正
process_sdp() は、スタック上に union nf_inet_addr 型の rtp_addr を宣言し、SDP メディア記述を走査した後に、nf_nat_sip の sdp_session フックに渡しています。しかし、rtp_addr は、認識可能なメディアタイプでポート番号が 0 ではないものが検出された場合のみ、メディアループ内で初期化されます。
SDP本文に m= 行が含まれていない場合、または非アクティブなメディアセクション (m=audio 0 ...) のみ、または認識できないメディアタイプのみが含まれている場合、rtp_addr は一切代入されません。それにもかかわらず、関数は &rtp_addr を引数として hooks->sdp_session() を呼び出し、nf_nat_sdp_session() がスタック上の古くなった値を IP アドレスとしてフォーマットし、それを使用して SDP セッションの所有者および接続行を書き換えます。
CONFIG_INIT_STACK_ALL_ZERO(ほとんどのディストリビューションでデフォルト)の場合、これは非アクティブな SDP セッションに対して、セッションレベルの o= および c= アドレスが 0.0.0.0 に書き換えられる結果となります。スタックの自動初期化がない場合、書き換えられるアドレスはスタック上にたまたま存在していた値になります。
これを修正するため、利用可能な場合はセッションレベルの接続アドレス (caddr) から rtp_addr を事前に初期化し、有効なアドレスが設定されたかどうかを追跡するために have_rtp_addr フラグを使用します。有効なアドレスが存在しない場合、sdp_session フックを完全にスキップします。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.