CVE-2026-70405 in OTP
要約
〜によって VulDB • 2026年09月01日
入力の指定された数量に対する不適切な検証の脆弱性が Erlang/OTP の snmp に存在し、BER INTEGER の長さフィールドが任意に大きな値である SNMP メッセージを送信することで、リモート攻撃者が可用性を低下させることができます。
snmp_pdus:dec_integer_notag/1 はそのサイズ制限を無限大にデフォルト設定しており、do_dec_integer_notag/2 では再帰的なシフトとビット単位の OR 演算によって宣言されたすべてのバイトに対して値が累積されます。宣言された長さに対して計算量は超線形(superlinear)に増加します。これは各操作が進むにつれてより大きな bignum を扱うためです。サイズ制限付きのバリアントである dec_integer_notag/2 も存在しますが、それは dec_snmp_version/1 という唯一の呼び出し元からしか到達できませんが、この関数はバージョンフィールドを 10 バイトに限定しています。リクエスト識別子、エラーステータスとインデックス、ジェネリックおよび特定のトラップフィールド、エンジンブート数と時間、そして dec_value/1 によってデコードされるすべての varbind 値はすべて無制限の形式を使用します。このデコード処理は PDU が処理される前に実行されるため、メッセージをそもそも受け入れるために必要な要件を満たす限り、有効なリクエストは必要ありません。
本問題は、OTP 17.0 から OTP 27.3.4.17 より前、OTP 28.0 から OTP 28.5.0.6 より前、および OTP 29.0 から OTP 29.0.6 より前の OTP に影響します。これは snmp パッケージにおいて 4.25.1 から 5.18.2.1 より前、5.19 から 5.20.2.2 より前、および 5.20.3 から 5.20.5 より前に相当します。OTP 17.0 より前のバージョン(snmp パッケージでは 4.25.1 より前)が影響を受けるかどうかは不明です。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.