CVE2020-8617

2024/05/07
CVE-2020-8617について
セキュリティ技術者育成プログラム8期生
4427 福本悠貴
1
2/14
CVE-2020-8617とは
TSIGリソースレコードを含むメッセージの有効性チェックの不具合に
起因しており、特別に細⼯されたメッセージを受け取った場合に
namedの異常終了や、異常な動作が発⽣する可能性があります。
• 9.16.0 ~ 9.16.2
• 9.14.0 ~ 9.14.11
• 9.11.0 ~ 9.11.18
• Supported Preview Edition 9.9.3.S1 ~ 9.11.18.S1
引⽤: JPSERT
3/14
TSIGとは
• RFC 8945 (2845, 4635は廃⽌)
• トランザクション認証
• 共通鍵⽅式
• セキュアなDNS更新
• 信頼できるゾーン転送
• クライアントとサーバ間の認証
4/14
DNSの構造
• 出典: RFC1035
5/14
TSIGリソースレコード
• 出典: RFC8945
6/14
影響範囲
本脆弱性を利⽤した攻撃には、該当namedで使われているTSIG鍵の名前を
知っているか、推測可能である必要がある。
→ 安⼼…?
7/14
local-ddns
8/14
dns̲tsig̲verify関数
• DNSメッセージ内のTSIGレコードを検証するための関数
• MAC(Message Authentication Code)の有効性や
タイムスタンプの妥当性などを確認する
9/14
10/14
パッチ適応前
11/14
パッチ適応後
12/14
まとめ
• TSIGレコードのErrorに BADSIG or BADKEY をセットし、リクエストを
送信すると、レスポンスで⾏われるべき処理が実⾏され、namedが異常終
了する。
• ⼊⼒チェックの不具合がある箇所まで通過するには、Key名とアルゴリズ
ムを当てる必要がある。
• local-ddnsという⾃動的に⽣成されるセッションキーを使って攻撃可能。
13/14
bind-9.16.1/bin/named/config.c
14/14
参考文献
• https://www.jpcert.or.jp/at/2020/at200023.html
• https://jprs.jp/tech/security/2020-05-20-bind9-vuln-tsig.html
• https://knqyf263.hatenablog.com/entry/2020/05/21/003645