BGP に存在する3つの脆弱性:DoS 状態が無期限に延長される可能性 – Forescout

Researchers found DoS flaws in popular BGP implementation

2023/05/03 SecurityAffairs — Forescout Vedere Labs の研究者が、Border Gateway Protocol (BGP) のソフトウェア実装に存在する、複数の脆弱性を発見した。これらの問題は、プロトコルの主要なオープンソース実装である、FRRouting 実装のバージョン 8.4 における BGP メッセージの解析に起因するものだ。この脆弱性の悪用に成功した攻撃者が、BGP ピアでのサービス拒否 (DoS) 状態を引き起こす可能性が生じる。技術的に見ると、この欠陥を悪用することで、すべての BGP セッションとルーティング・テーブルを削除し、ピアを無応答にすることができるという。



Border Gateway Protocol の実装は広く採用されており、一般的な用途として挙げられるものには、大規模データセンターでのトラフィック・ルーティング や、MP-BGP などの BGP 拡張、MPLS L3 VPN 向けなどがあると、研究者たちは指摘している。

現時点において、FRRouting の実装は、nVidia Cumulus/DENT/SONiC などの、主要ベンダーのネットワーク・ソリューションで使用されている。

Forescout のアドバイザリには、「攻撃者たちは、3つの新たな脆弱性のいずれかを悪用して、脆弱な BGP ピア上で DoS を達成し、すべての BGP セッションとルーティング・テーブルを停止させ、数秒間においてピアを無応答にできる。この DoS 状態は、不正なパケットを繰り返し送信することで、無期限に延長される可能性がある」と記されている。

今回の発見は、オープンソース3種 (FRRouting/BIRD/OpenBGPd) と、クローズドソース4種 (Mikrotik RouterOS/Juniper JunOS/Cisco IOS/Arista EOS) の、一般的な Border Gateway Protocol 実装を分析した結果である。

以下は、Forescout が発見した欠陥のリストとなる:

CVE IDDESCRIPTIONCVSSV3.1POTENTIAL IMPACT
CVE-2022-40302Out-of-bounds read when processing a malformed BGP OPEN message with an Extended Optional Parameters Length option.6.5DoS
CVE-2022-40318Out-of-bounds read when processing a malformed BGP OPEN message with an Extended Optional Parameters Length option. This is a different issue from CVE-2022-40302.6.5DoS
CVE-2022-43681Out-of-bounds read when processing a malformed BGP OPEN message that abruptly ends with the option length octet (or the option length word, in case of OPEN with extended option lengths message).6.5DoS


研究者たちは、FRRouting が BGP Identifier および ASN フィールドを検証する前に、脆弱性 CVE-2022-40302/CVE-2022-43681 がトリガーされる可能性があると指摘している。FRRouting のデフォルトでは、設定されたピア間の接続のみが許可されるが (たとえば、設定ファイルに存在しないホストからの OPEN メッセージは受け付けない) 、このアドバイザリに記載されている攻撃シナリオでは、脅威アクターは信頼できるピアの有効な IP アドレスを詐称できるとされている。また、脅威アクターは、ミスコンフィグレーションの悪用や、他の脆弱性の悪用により、正規のピアを侵害することも可能だ。

インターネット上には BGP が有効化されているホストが 33万台以上も存在し、そのうち約 1000台が未承諾の BGP OPEN メッセージに返信していると推定される。Border Gateway Protocol のホストの多くは、中国 (10万台)/米国 (5万台)/英国 (1万6千台) に存在している。専門家たちは、FRRouting を実行している 1,000以上のホストを発見したが、そのすべてが Border Gateway Protocol を有効化しているとは限らない。

FRRouting チームが、以下のバージョンをリリースすることで、この脆弱性は対処されている:

CVE-2022-40302/CVE-2022-40318:
https://github.com/FRRouting/frr/pull/12043

CVE-2022-43681:
https://github.com/FRRouting/frr/pull/12247

なお、Forescout のアドバイザリには、「私たちの調査によると、最新の BGP 実装において、攻撃者に悪用される可能性のある、脆弱なホストの存在が示唆される」とも記されている。

BGP の脆弱性というのは、ちょっと珍しいトピックですが、2023/04/09 には「BGP ハイジャッキングを止めろ:オランダ政府が RPKI を全面採用する理由を考える」という、興味深い記事がポストされていました。