pppdパッケージの脆弱性が公開されました (CVE-2020-8597) これは、一部のVPNサービス、DSL接続、およびイーサネットに深刻な影響を及ぼします 見つかったバグにより、PPP(ポイントツーポイントプロトコル)またはPPPoE(PPP over Ethernet)を使用するシステムに特別に設計された認証要求を送信するコードを実行できました。
そして、私たちが述べたように、それはです さまざまなプロバイダーがこれらのプロトコルを使用することがよくあります イーサネットまたはDSLを介して接続を確立し、pptpdやopenfortivpnなどの一部のVPNでも使用されます。
問題に対するシステムの感受性をテストするには、 エクスプロイトプロトタイプが準備され、 すでに 一般に公開されています。
判決について
脆弱性はバッファオーバーフローによって引き起こされます Extensible Authentication Protocol(EAP)の実装で。
追加の論理障害により、eap_input()関数は、回線制御プロトコル(LCP)フェーズ中にEAPがネゴシエートされたかどうかをチェックしません。
これにより、認証されていない攻撃者がEAPパケットを送信できるようになります EAPサポートがないため、またはLCPフェーズで合意された事前共有パスフレーズの不一致が原因で、pppが認証ネゴシエーションを拒否した場合でも。
eap_inputの脆弱なpppdコードは、引き続きEAPパケットを処理し、スタックバッファオーバーフローをトリガーします。
サイズが不明なこの未確認のデータは、ターゲットシステムのメモリを破壊するために使用される可能性があります。 pppdは多くの場合、高い特権(システムまたはルート)で実行され、カーネルドライバーと連携して動作します。 これにより、攻撃者がルートまたはシステムレベルの権限で任意のコードを実行する可能性があります。
これで、 認証前の段階で攻撃を行うことができます 割り当てられたバッファに収まらない非常に長いホスト名を含む、タイプEAPT_MD5CHAPのパケットを送信して渡します。
rhostnameフィールドのサイズをチェックするコードのバグのため、 攻撃者はバッファ外のデータを上書きできます スタック上で、root権限でコードのリモート実行を実現します。
脆弱性はサーバー側とクライアント側に現れますつまり、サーバーが攻撃されるだけでなく、攻撃者が制御するサーバーに接続しようとするクライアントも攻撃される可能性があります(たとえば、攻撃者は最初に脆弱性を介してサーバーをハッキングし、次に接続しているクライアントへの攻撃を開始できます)。
脆弱性 lwIPスタックにも影響します。 ただし、EAPサポートはlwIPのデフォルト設定では有効になっていません。
影響を受けるバージョンとソリューション
そのため、この検出された障害 pppdバージョン2.4.2から2.4.8に影響します 包括的であり、パッチの形で解決されます。 バグが発見されて問題が解決されてからかなり経ってから、一般の人々へのバグの開示が行われることをご存知の方もいらっしゃるかもしれません。 また、これにはプロセス全体が必要ですが、対応する更新を実行する必要があるユーザーの部分がまだあります。
問題解決ステータスを確認できます 主なLinuxディストリビューションのレポート内。
これはで見ることができます これらのページ: Debianの, Ubuntu, RHEL、Fedora、 SUSE, OpenWrtの, アーチ、NetBSD。
RHEL、OpenWRT、およびSUSEでは、pppdパッケージは「StackSmashingProtection」(」を含めてコンパイルされます。-fstack-プロテクター»(gcc)で、ロック操作を制限します。
ディストリビューションに加えて、この脆弱性は、pppdまたはlwIPコードを使用して、一部のCisco(CallManager)、TP-LINK、およびSynology製品(DiskStation Manager、VisualStation VS960HD、およびRouter Manager)でも確認されています。
そのため、パッチはすでに利用可能です ほとんどのLinuxディストリビューションのリポジトリ内にあり、パッケージアップデートを提供することですでに実装しているものもあります。
あなたがそれについてもっと知りたいなら 見つかった障害については、詳細と詳細を確認できます 次のリンクで。