JVNVU#99700555
pppd におけるバッファオーバーフローの脆弱性
pppd (Point to Point Protocol Daemon) には、バッファオーバーフローの脆弱性が存在します。
- pppd 2.4.2 から 2.4.8 まで
PPP はダイヤルアップでのインターネット接続に用いられるプロトコルであり、認証プロトコルとして Extensible Authentication Protocol (EAP) サポートしています。Paul's PPP Package の pppd には、EAP パケットの処理時に入力データのサイズを適切に検証していないことに起因してバッファオーバーフロー (CWE-120) が発生する脆弱性が存在します。
本脆弱性は EAP パケットのパース処理を行う eap.c 中の eap_request() と eap_response() 関数に存在します。これらの関数には入力データに含まれるデータ長の値を検証する処理が含まれますが、pppd にはこの検証処理に不備があり、任意の長さのデータをスタックにコピーさせることによりスタックバッファオーバーフローを発生させることが可能です。
細工された EAP パケットを処理することで、任意のコードを実行されたり、サービス運用妨害 (DoS) 攻撃を受けたりする可能性があります。
また、pppd は eap_input() 関数内の処理にも不備があり、Link Control Protocol (LCP) により本来ならば EAP を用いることができないような場合にも EAP パケットを受け付けてしまうことがあります。そのため、EAP の設定を無効にしている場合も本脆弱性の影響を受ける可能性があります。
pppd はオープンソースのTCP/IPプロトコルスタック Lightweight IP (lwIP) でも採用されています。デフォルトの状態では EAP が有効ではありませんが、コンパイル時に EAP を有効にしている場合は本脆弱性の影響を受ける可能性があります。
パッチを適用する
pppd 開発者により本脆弱性に対する以下の修正パッチが提供されています。
https://github.com/paulusmack/ppp/commit/8d7970b8f3db727fe798b65f3377fe6787575426
EAP を有効にした lwIP に対しては、下記の修正パッチが提供されています。
https://git.savannah.nongnu.org/cgit/lwip.git/commit/src/netif/ppp/eap.c?id=2ee3cbe69c6d2805e64e7cac2a1c1706e49ffd86
ベンダ | ステータス | ステータス 最終更新日 |
ベンダの告知ページ |
---|---|---|---|
NTT-CERT | 該当製品無し | 2020/09/30 | |
オムロン株式会社 | 脆弱性情報提供済み | 2020/03/05 | |
サイバートラスト株式会社 | 該当製品あり | 2020/03/09 | |
ジェイティ エンジニアリング株式会社 | 該当製品無し | 2020/04/10 | |
センチュリー・システムズ株式会社 | 該当製品無し | 2020/03/12 | |
ソニー株式会社 | 脆弱性情報提供済み | 2020/03/05 | |
ビー・ユー・ジーDMG森精機株式会社 | 該当製品無し | 2020/03/05 | |
古河電気工業株式会社 | 該当製品無し | 2020/03/05 | |
富士通株式会社 | 該当製品あり | 2020/06/15 | |
日本電気株式会社 | 該当製品あり | 2020/05/25 | |
東芝デベロップメントエンジニアリング株式会社 | 該当製品無し | 2020/03/06 | |
株式会社インターネットイニシアティブ | 該当製品あり | 2020/03/10 | 株式会社インターネットイニシアティブ の告知ページ |
株式会社バッファロー | 脆弱性情報提供済み | 2020/03/05 | |
株式会社リコー | 該当製品無し | 2021/02/17 |
ベンダ | リンク |
paulusmack/ppp | pppd: Fix bounds check in EAP code |
lwIP | PPP, EAP: fix bounds check in EAP code |
Debian Project | CVE-2020-8597 |
RedHat | CVE-2020-8597 |
-
CERT/CC Vulnerability Note VU#782301
pppd vulnerable to buffer overflow due to a flaw in EAP packet processing -
CERT/CC PoC-Exploits
cve-2020-8597-pptpd -
IOActive Security Advisory
pppd Vulnerable to Buffer Overflow Due to a Flaw in EAP Packet Processing (CVE-2020-8597) -
GitHub Security Lab
CERT partners with GitHub Security Lab for automated remediation of CVE-2020-8597 -
CERT/CC Blog
Security Automation Begins at the Source Code
攻撃元区分(AV) | 物理 (P) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 低 (L) | ||
必要な特権レベル(PR) | 高 (H) | 低 (L) | 不要 (N) | |
ユーザ関与レベル(UI) | 要 (R) | 不要 (N) | ||
スコープ(S) | 変更なし (U) | 変更あり (C) | ||
機密性への影響(C) | なし (N) | 低 (L) | 高 (H) | |
完全性への影響(I) | なし (N) | 低 (L) | 高 (H) | |
可用性への影響(A) | なし (N) | 低 (L) | 高 (H) |
攻撃元区分(AV) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 中 (M) | 低 (L) |
攻撃前の認証要否(Au) | 複数 (M) | 単一 (S) | 不要 (N) |
機密性への影響(C) | なし (N) | 部分的 (P) | 全面的 (C) |
完全性への影響(I) | なし (N) | 部分的 (P) | 全面的 (C) |
可用性への影響(A) | なし (N) | 部分的 (P) | 全面的 (C) |
JPCERT 緊急報告 |
|
JPCERT REPORT |
|
CERT Advisory |
|
CPNI Advisory |
|
TRnotes |
|
CVE |
CVE-2020-8597 |
JVN iPedia |
|
- 2020/03/06
- 東芝デベロップメントエンジニアリング株式会社のベンダステータスが更新されました
- 2020/03/09
- サイバートラスト株式会社のベンダステータスが更新されました
- 2020/03/10
- 株式会社インターネットイニシアティブのベンダステータスが更新されました
- 2020/03/11
- 富士通株式会社のベンダステータスが更新されました
- 2020/03/12
- センチュリー・システムズ株式会社のベンダステータスが更新されました
- 2020/03/25
- 参考情報を追加しました
- 2020/04/10
- ジェイティ エンジニアリング株式会社のベンダステータスが更新されました
- 2020/05/25
- 日本電気株式会社のベンダステータスが更新されました
- 2020/06/15
- 富士通株式会社のベンダステータスが更新されました
- 2020/06/15
- 【想定される影響】の誤植を修正しました
- 2020/09/30
- NTT-CERT のベンダステータスが更新されました
- 2021/02/17
- 株式会社リコーのベンダステータスが更新されました