公開日:2022/05/10 最終更新日:2022/05/10
JVNVU#96479085
uClibcおよびuClibc-ngにDNSキャッシュポイズニングの問題
uClibcおよびuClibc-ngには、DNSヘッダのトランザクションIDがランダム化されていないことに起因してDNSキャッシュポイズニング攻撃が可能となる脆弱性が存在します。
- uClibc
- uClibc-ng
uClibcおよびuClibc-ngは組み込み製品で多く用いられている軽量なC言語ライブラリです。uClibcは2012年5月を最後に開発が停止しており、2014年7月からは後継のuClibc-ngの開発が今日まで継続されています。
uClibcおよびuClibc-ngには、DNSヘッダのトランザクションIDがランダム化されていない脆弱性(CVE-2022-30295、CWE-330)が存在します。これにより、攻撃者が悪意のあるDNSパケットを送信し不正なDNSキャッシュを登録させることにより、ユーザを任意のサイトへリダイレクトさせるDNSキャッシュポイズニング攻撃の被害を受ける可能性があります。
キャッシュポイズニング攻撃によって偽のDNS情報をキャッシュさせられ、ユーザが偽のサイトに誘導される可能性があります。
2022年5月10日現在、本脆弱性の修正パッチは提供されていません。
ベンダからの情報を注視し、製品のファームウェアを常に最新に保つよう心がけてください。
uClibcおよびuClibc-ngを用いて製品を開発している場合、DNSヘッダのトランザクションIDをランダム化する修正を行ってください。
発見者によると、本脆弱性の原因は /libc/inet/resolv.c 内の __dns_lookup 関数において、単純にインクリメント処理された変数 local_id をトランザクションIDとして使用していることにあります。
ベンダ | リンク |
uClibc | uClibc |
uClibc-ng | uClibc-ng - Embedded C library |
-
Nozomi Networks
Nozomi Networks Discovers Unpatched DNS Bug in Popular C Standard Library Putting IoT at Risk -
CERT/CC Vulnerability Note VU#473698
uClibc, uClibc-ng libraries have monotonically increasing DNS transaction ID