【活用ガイド】

JVNDB-2022-001736

uClibc および uClibc-ng に DNS キャッシュポイズニングの問題

概要

uClibc および uClibc-ng は組み込み製品で多く用いられている軽量な C 言語ライブラリです。uClibc は2012年5月を最後に開発が停止しており、2014年7月からは後継の uClibc-ng の開発が今日まで継続されています。

uClibc および uClibc-ng には、DNS ヘッダのトランザクション ID がランダム化されていない脆弱性(CVE-2022-30295、CWE-330)が存在します。これにより、攻撃者が悪意のある DNS パケットを送信し不正な DNS キャッシュを登録させることにより、ユーザを任意のサイトへリダイレクトさせる DNS キャッシュポイズニング攻撃の被害を受ける可能性があります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 6.5 (警告) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 低
  • 可用性への影響(A): なし
CVSS v2 による深刻度
基本値: 4.0 (警告) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 高
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): 部分的
  • 完全性への影響(I): 部分的
  • 可用性への影響(A): なし
影響を受けるシステム


Erik Andersen
  • uClibc
uClibc-ng project
  • uClibc-ng

想定される影響

キャッシュポイズニング攻撃によって偽の DNS 情報をキャッシュさせられ、ユーザが偽のサイトに誘導される可能性があります。
対策

2022年5月10日現在、本脆弱性の修正パッチは提供されていません。
ベンダからの情報を注視し、製品のファームウェアを常に最新に保つよう心がけてください。

uClibc および uClibc-ng を用いて製品を開発している場合、DNS ヘッダのトランザクション ID をランダム化する修正を行ってください。
発見者によると、本脆弱性の原因は /libc/inet/resolv.c 内の __dns_lookup 関数において、単純にインクリメント処理された変数 local_id をトランザクション ID として使用していることにあります。
ベンダ情報

Erik Andersen uClibc-ng project
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 不十分なランダム値の使用(CWE-330) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2022-30295
参考情報

  1. JVN : JVNVU#96479085
  2. National Vulnerability Database (NVD) : CVE-2022-30295
  3. US-CERT Vulnerability Note : VU#473698
  4. 関連文書 : Nozomi Networks Discovers Unpatched DNS Bug in Popular C Standard Library Putting IoT at Risk
更新履歴

  • [2022年05月11日]
      掲載
  • [2024年06月20日]
      CVSS による深刻度:内容を更新
      参考情報:National Vulnerability Database (NVD) (CVE-2022-30295) を追加