1 ポイント 投稿者 GN⁺ 2024-09-27 | まだコメントはありません。 | WhatsAppで共有

UNIXシステムへの攻撃: CUPSを介した攻撃、Part I

要約

  • CVE-2024-47176: cups-browsed <= 2.0.1 は UDP INADDR_ANY:631 にバインドされており、攻撃者が制御する URL への Get-Printer-Attributes IPP リクエストをトリガーできる
  • CVE-2024-47076: libcupsfilters <= 2.1b1 の cfGetPrinterAttributes5 は、IPP サーバーから返された IPP 属性を検証またはサニタイズしないため、攻撃者が制御するデータを CUPS システムに渡すことができる
  • CVE-2024-47175: libppd <= 2.1b1 の ppdCreatePPDFromIPP2 は、一時 PPD ファイルに IPP 属性を書き込む際に検証またはサニタイズを行わず、攻撃者が制御するデータを注入できる
  • CVE-2024-47177: cups-filters <= 2.0.1 の foomatic-rip は、FoomaticRIPCommandLine PPD パラメーターを通じて任意のコマンド実行を許可する

影響

  • リモートの未認証攻撃者が既存プリンターの IPP URL を悪意ある URL に置き換えたり、新しいプリンターをインストールしたりでき、印刷ジョブ開始時に任意のコマンドを実行できる

侵入経路

  • WAN / 公開インターネット: リモート攻撃者がポート 631 に UDP パケットを送信する。認証は不要
  • LAN: ローカル攻撃者が zeroconf / mDNS / DNS-SD 広告をスプーフィングし、同じコードパスを通じて RCE を達成できる

影響を受けるシステム

  • 大半の GNU/Linux ディストリビューション
  • 一部の BSD
  • Google Chromium / ChromeOS(可能性あり)
  • Oracle Solaris
  • その他

対策

  • cups-browsed サービスを無効化して削除する
  • システムの CUPS パッケージを更新する
  • システムを更新できない場合は、UDP ポート 631 とすべての DNS-SD トラフィックを遮断する

紹介

  • 数週間前、新しいノートPCに Ubuntu をセットアップしていた際、UDP ポートを監視しているサービスを確認するために netstat -anu コマンドを実行した
  • ポート 631 で cups-browsed が UDP を使ってすべてのネットワークインターフェースで待ち受け、応答していることを発見した
  • cups-browsed は新しいプリンターを自動的にシステムへ追加する役割を持つ

cups-browsed とは?

  • cups-browsed は CUPS システムの一部で、新しいプリンターを検出して自動的にシステムへ追加する
  • デフォルト設定ファイルはコメントアウトされており、誰でも接続できるよう許可されている

スタックバッファオーバーフローと競合状態

  • cups-browsed は oss-fuzz のカバレッジに含まれていない
  • process_browse_data 関数では、スタックバッファオーバーフローと競合状態が発生する可能性がある
  • これらの問題は開発者と CERT に報告されているが、まだパッチは適用されていない

found_cups_printer に戻る

  • found_cups_printer 関数はパケットから URL を抽出し、cfGetPrinterAttributes 関数に渡す
  • この URL は攻撃者が制御するサーバーへ接続される

インターネット印刷プロトコル(IPP)

  • IPP はクライアントデバイスとプリンター間の通信のためのプロトコルである
  • 攻撃者が制御するプリンター属性を返すことで、システムにプリンターを追加できる

GN⁺ のまとめ

  • この記事は、CUPS システムの脆弱性を悪用してリモートコード実行を達成する方法を説明している
  • CUPS に関連するさまざまな脆弱性があり、これによって攻撃者はシステムを制御できる
  • これらの脆弱性にはまだパッチがなく、ユーザーは CUPS サービスを無効化するか更新する必要がある
  • 類似機能を持つ他のプロジェクトとしては、LPRngCUPS の最新版がある

まだコメントはありません。

まだコメントはありません。