ブログ

ディープ・ダイブGNU-Linuxシステムにおける重大なCUPS脆弱性のナビゲート

ローラ・ベルヘイデ
2024年10月07日発行

ここ数年、いくつかの深刻度の高い脆弱性が様々な形でLinuxシステムに影響を及ぼしていると報告されており、Linuxユーザーは最近楽な時を過ごしていない。セキュリティ研究者は現在、GNU/Linuxシステムを標的とするCommon UNIX Printing System (CUPS)機能に関連する、潜在的なリモート・コード実行(RCE)の経路を持つ、別の脆弱性群を解明している。

2024年9月27日、evilsocket.netのSimone Margaritelli氏が、CUPSの悪用可能な複数の脆弱性に関する重要な情報を発表し、その後、そのうちの4つにCVEが割り当てられた。この数はさらに増える可能性があるが、本稿執筆時点では、セキュリティ・コミュニティはこれらの発見の実際の重大性について議論している。CVEの1つであるCVE-2024-47177は、MITREによる現在の重要度レーティングが9.1であるが、このコマンド・インジェクションの欠陥の操作を成功させるには、CUPSサービスが有効になっているサーバーに依存し、さらに、UDPポート631またはDNS-SDへのアクセスが必要である。ただしCUPS を別のポートにマッピングし直すことは可能である。 

Margaritelli氏のこの事件の包括的な内訳は、コミュニティの意見の相違にもかかわらず、無視すべきではない陰湿で複雑な攻撃の連鎖を明らかにしている。この事件は、一見無害に見える依存関係も、脅威行為者が十分な決断力を持ち、稚拙なコーディング・パターンによって小さな機会の窓が開かれていれば、深く悪用できるという教訓を与えてくれる。

CUPSのシナリオは、多くの開発者やAppSecの専門家が以前に経験したものとは少し異なる。

脆弱性CUPS 経由でのリモートコード実行 (RCE)

Evilsocketのブログは、これらのエクスプロイトに関する比類のない徹底的な背景を提供しており、今後も注視していきたい情報源である。Margaritelliはまた、彼の記事の中で、Linuxの一般的なセキュリティの堅牢性について楽観的でないように見える無名のソースを引用している:



"一般的なセキュリティの観点からは、現在のLinuxシステム全体は、悪用されるのを待っているセキュリティホールの果てしなく絶望的な混乱にすぎない。"

これは、グローバルな開発コミュニティの間でセキュリティ意識の向上と安全なコーディング・スキルが切実に求められていることは言うまでもないが、オープンソース環境に依然として蔓延している固有のセキュリティ・リスクを痛感させるものである。

CVEを見てみよう:

脆弱性の連鎖は広範囲に及んでおり、現在、以下のパッケージの現在および以前のバージョンすべてに影響を及ぼしています:

  • ディストロテック/カップフィルター
  • OpenPrinting/カップフィルター
  • カップブラウジング
  • libcupsfilters
  • libppd

CUPSは、20年以上にわたってUNIXおよびLinuxオペレーティング・システムのレガシー・コンポーネントである。CUPSのプリントサービス依存機能は、ネットワーク・リクエストの実行に熱心であるため、RCEクラスの脆弱性の格好の標的となっている。

しかし、この例では、攻撃を組み合わせて成功させる方法に工夫が見られる。これは基本的に、認証されていない、検出されていない攻撃者が、インターネット・プリンティング・プロトコル(IPP)のURLを悪意のあるものに置き換える能力であり、さらに「PPD(PostScript Printer Description)ファイル(新しく追加されたプリンタの機能を記述するために使用されるファイル)」にコマンドインジェクションを引き起こす可能性のあるディレクティブを修正する能力である。この結果、印刷ジョブがアクティブになると、コマンド実行攻撃が発生し、CUPSコンポーネント内の入力検証の欠如に依存することになる。

さらに、Evilsocketが指摘するように、この特定の脆弱性を修正することは、諸刃の剣のようなものを生み出す。CUPSにはfoomatic-ripフィルターが含まれているが、この実行ファイルは以前から危険性が高く、悪用されやすいコンポーネントであった。このコンポーネントに関連するCVEは2011年までさかのぼり、foomatic-ripを活用してOSコマンドを実行できることは確認されているが、これを修正すると安定性に問題が生じ、多くの古いプリンターのサポートが失われる。これは克服すべき複雑な問題である。

  1. 脅威行為者が攻撃を開始
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. 被害者システムはプリンタ属性を処理する
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. 被害者システムは攻撃者コントローラのIPPサーバに接続する。
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

RCEリスクを軽減するには?

CUPSを業務の一部として利用している企業は、Evilsocket社および RedHat社が推奨する修復アドバイスに従わなければならない。これには、緊急レベルの優先事項としてセキュリティパッチを適用することが含まれるが、これに限定されるものではない。

コマンド・インジェクション全般については、包括的なガイドを参照してください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

リソースを見る
リソースを見る

Common UNIX Printing System (CUPS) における最近の深刻度の高い脆弱性を調査しながら、Linux ユーザーが直面する最新のセキュリティ課題を発見してください。これらの問題がどのようにリモート・コード実行(RCE)につながる可能性があるのか、またシステムを保護するために何ができるのかを学びます。

ご興味がおありですか?

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約する
シェアする
著者
ローラ・ベルヘイデ
2024年10月07日発行

Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。

シェアする

ここ数年、いくつかの深刻度の高い脆弱性が様々な形でLinuxシステムに影響を及ぼしていると報告されており、Linuxユーザーは最近楽な時を過ごしていない。セキュリティ研究者は現在、GNU/Linuxシステムを標的とするCommon UNIX Printing System (CUPS)機能に関連する、潜在的なリモート・コード実行(RCE)の経路を持つ、別の脆弱性群を解明している。

2024年9月27日、evilsocket.netのSimone Margaritelli氏が、CUPSの悪用可能な複数の脆弱性に関する重要な情報を発表し、その後、そのうちの4つにCVEが割り当てられた。この数はさらに増える可能性があるが、本稿執筆時点では、セキュリティ・コミュニティはこれらの発見の実際の重大性について議論している。CVEの1つであるCVE-2024-47177は、MITREによる現在の重要度レーティングが9.1であるが、このコマンド・インジェクションの欠陥の操作を成功させるには、CUPSサービスが有効になっているサーバーに依存し、さらに、UDPポート631またはDNS-SDへのアクセスが必要である。ただしCUPS を別のポートにマッピングし直すことは可能である。 

Margaritelli氏のこの事件の包括的な内訳は、コミュニティの意見の相違にもかかわらず、無視すべきではない陰湿で複雑な攻撃の連鎖を明らかにしている。この事件は、一見無害に見える依存関係も、脅威行為者が十分な決断力を持ち、稚拙なコーディング・パターンによって小さな機会の窓が開かれていれば、深く悪用できるという教訓を与えてくれる。

CUPSのシナリオは、多くの開発者やAppSecの専門家が以前に経験したものとは少し異なる。

脆弱性CUPS 経由でのリモートコード実行 (RCE)

Evilsocketのブログは、これらのエクスプロイトに関する比類のない徹底的な背景を提供しており、今後も注視していきたい情報源である。Margaritelliはまた、彼の記事の中で、Linuxの一般的なセキュリティの堅牢性について楽観的でないように見える無名のソースを引用している:



"一般的なセキュリティの観点からは、現在のLinuxシステム全体は、悪用されるのを待っているセキュリティホールの果てしなく絶望的な混乱にすぎない。"

これは、グローバルな開発コミュニティの間でセキュリティ意識の向上と安全なコーディング・スキルが切実に求められていることは言うまでもないが、オープンソース環境に依然として蔓延している固有のセキュリティ・リスクを痛感させるものである。

CVEを見てみよう:

脆弱性の連鎖は広範囲に及んでおり、現在、以下のパッケージの現在および以前のバージョンすべてに影響を及ぼしています:

  • ディストロテック/カップフィルター
  • OpenPrinting/カップフィルター
  • カップブラウジング
  • libcupsfilters
  • libppd

CUPSは、20年以上にわたってUNIXおよびLinuxオペレーティング・システムのレガシー・コンポーネントである。CUPSのプリントサービス依存機能は、ネットワーク・リクエストの実行に熱心であるため、RCEクラスの脆弱性の格好の標的となっている。

しかし、この例では、攻撃を組み合わせて成功させる方法に工夫が見られる。これは基本的に、認証されていない、検出されていない攻撃者が、インターネット・プリンティング・プロトコル(IPP)のURLを悪意のあるものに置き換える能力であり、さらに「PPD(PostScript Printer Description)ファイル(新しく追加されたプリンタの機能を記述するために使用されるファイル)」にコマンドインジェクションを引き起こす可能性のあるディレクティブを修正する能力である。この結果、印刷ジョブがアクティブになると、コマンド実行攻撃が発生し、CUPSコンポーネント内の入力検証の欠如に依存することになる。

さらに、Evilsocketが指摘するように、この特定の脆弱性を修正することは、諸刃の剣のようなものを生み出す。CUPSにはfoomatic-ripフィルターが含まれているが、この実行ファイルは以前から危険性が高く、悪用されやすいコンポーネントであった。このコンポーネントに関連するCVEは2011年までさかのぼり、foomatic-ripを活用してOSコマンドを実行できることは確認されているが、これを修正すると安定性に問題が生じ、多くの古いプリンターのサポートが失われる。これは克服すべき複雑な問題である。

  1. 脅威行為者が攻撃を開始
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. 被害者システムはプリンタ属性を処理する
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. 被害者システムは攻撃者コントローラのIPPサーバに接続する。
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

RCEリスクを軽減するには?

CUPSを業務の一部として利用している企業は、Evilsocket社および RedHat社が推奨する修復アドバイスに従わなければならない。これには、緊急レベルの優先事項としてセキュリティパッチを適用することが含まれるが、これに限定されるものではない。

コマンド・インジェクション全般については、包括的なガイドを参照してください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

リソースを見る
リソースを見る

以下のフォームに記入し、レポートをダウンロードしてください。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。

ここ数年、いくつかの深刻度の高い脆弱性が様々な形でLinuxシステムに影響を及ぼしていると報告されており、Linuxユーザーは最近楽な時を過ごしていない。セキュリティ研究者は現在、GNU/Linuxシステムを標的とするCommon UNIX Printing System (CUPS)機能に関連する、潜在的なリモート・コード実行(RCE)の経路を持つ、別の脆弱性群を解明している。

2024年9月27日、evilsocket.netのSimone Margaritelli氏が、CUPSの悪用可能な複数の脆弱性に関する重要な情報を発表し、その後、そのうちの4つにCVEが割り当てられた。この数はさらに増える可能性があるが、本稿執筆時点では、セキュリティ・コミュニティはこれらの発見の実際の重大性について議論している。CVEの1つであるCVE-2024-47177は、MITREによる現在の重要度レーティングが9.1であるが、このコマンド・インジェクションの欠陥の操作を成功させるには、CUPSサービスが有効になっているサーバーに依存し、さらに、UDPポート631またはDNS-SDへのアクセスが必要である。ただしCUPS を別のポートにマッピングし直すことは可能である。 

Margaritelli氏のこの事件の包括的な内訳は、コミュニティの意見の相違にもかかわらず、無視すべきではない陰湿で複雑な攻撃の連鎖を明らかにしている。この事件は、一見無害に見える依存関係も、脅威行為者が十分な決断力を持ち、稚拙なコーディング・パターンによって小さな機会の窓が開かれていれば、深く悪用できるという教訓を与えてくれる。

CUPSのシナリオは、多くの開発者やAppSecの専門家が以前に経験したものとは少し異なる。

脆弱性CUPS 経由でのリモートコード実行 (RCE)

Evilsocketのブログは、これらのエクスプロイトに関する比類のない徹底的な背景を提供しており、今後も注視していきたい情報源である。Margaritelliはまた、彼の記事の中で、Linuxの一般的なセキュリティの堅牢性について楽観的でないように見える無名のソースを引用している:



"一般的なセキュリティの観点からは、現在のLinuxシステム全体は、悪用されるのを待っているセキュリティホールの果てしなく絶望的な混乱にすぎない。"

これは、グローバルな開発コミュニティの間でセキュリティ意識の向上と安全なコーディング・スキルが切実に求められていることは言うまでもないが、オープンソース環境に依然として蔓延している固有のセキュリティ・リスクを痛感させるものである。

CVEを見てみよう:

脆弱性の連鎖は広範囲に及んでおり、現在、以下のパッケージの現在および以前のバージョンすべてに影響を及ぼしています:

  • ディストロテック/カップフィルター
  • OpenPrinting/カップフィルター
  • カップブラウジング
  • libcupsfilters
  • libppd

CUPSは、20年以上にわたってUNIXおよびLinuxオペレーティング・システムのレガシー・コンポーネントである。CUPSのプリントサービス依存機能は、ネットワーク・リクエストの実行に熱心であるため、RCEクラスの脆弱性の格好の標的となっている。

しかし、この例では、攻撃を組み合わせて成功させる方法に工夫が見られる。これは基本的に、認証されていない、検出されていない攻撃者が、インターネット・プリンティング・プロトコル(IPP)のURLを悪意のあるものに置き換える能力であり、さらに「PPD(PostScript Printer Description)ファイル(新しく追加されたプリンタの機能を記述するために使用されるファイル)」にコマンドインジェクションを引き起こす可能性のあるディレクティブを修正する能力である。この結果、印刷ジョブがアクティブになると、コマンド実行攻撃が発生し、CUPSコンポーネント内の入力検証の欠如に依存することになる。

さらに、Evilsocketが指摘するように、この特定の脆弱性を修正することは、諸刃の剣のようなものを生み出す。CUPSにはfoomatic-ripフィルターが含まれているが、この実行ファイルは以前から危険性が高く、悪用されやすいコンポーネントであった。このコンポーネントに関連するCVEは2011年までさかのぼり、foomatic-ripを活用してOSコマンドを実行できることは確認されているが、これを修正すると安定性に問題が生じ、多くの古いプリンターのサポートが失われる。これは克服すべき複雑な問題である。

  1. 脅威行為者が攻撃を開始
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. 被害者システムはプリンタ属性を処理する
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. 被害者システムは攻撃者コントローラのIPPサーバに接続する。
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

RCEリスクを軽減するには?

CUPSを業務の一部として利用している企業は、Evilsocket社および RedHat社が推奨する修復アドバイスに従わなければならない。これには、緊急レベルの優先事項としてセキュリティパッチを適用することが含まれるが、これに限定されるものではない。

コマンド・インジェクション全般については、包括的なガイドを参照してください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

リソースにアクセス

以下のリンクをクリックし、この資料のPDFをダウンロードしてください。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

レポートを見るデモを予約する
シェアする
ご興味がおありですか?

シェアする
著者
ローラ・ベルヘイデ
2024年10月07日発行

Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。

シェアする

ここ数年、いくつかの深刻度の高い脆弱性が様々な形でLinuxシステムに影響を及ぼしていると報告されており、Linuxユーザーは最近楽な時を過ごしていない。セキュリティ研究者は現在、GNU/Linuxシステムを標的とするCommon UNIX Printing System (CUPS)機能に関連する、潜在的なリモート・コード実行(RCE)の経路を持つ、別の脆弱性群を解明している。

2024年9月27日、evilsocket.netのSimone Margaritelli氏が、CUPSの悪用可能な複数の脆弱性に関する重要な情報を発表し、その後、そのうちの4つにCVEが割り当てられた。この数はさらに増える可能性があるが、本稿執筆時点では、セキュリティ・コミュニティはこれらの発見の実際の重大性について議論している。CVEの1つであるCVE-2024-47177は、MITREによる現在の重要度レーティングが9.1であるが、このコマンド・インジェクションの欠陥の操作を成功させるには、CUPSサービスが有効になっているサーバーに依存し、さらに、UDPポート631またはDNS-SDへのアクセスが必要である。ただしCUPS を別のポートにマッピングし直すことは可能である。 

Margaritelli氏のこの事件の包括的な内訳は、コミュニティの意見の相違にもかかわらず、無視すべきではない陰湿で複雑な攻撃の連鎖を明らかにしている。この事件は、一見無害に見える依存関係も、脅威行為者が十分な決断力を持ち、稚拙なコーディング・パターンによって小さな機会の窓が開かれていれば、深く悪用できるという教訓を与えてくれる。

CUPSのシナリオは、多くの開発者やAppSecの専門家が以前に経験したものとは少し異なる。

脆弱性CUPS 経由でのリモートコード実行 (RCE)

Evilsocketのブログは、これらのエクスプロイトに関する比類のない徹底的な背景を提供しており、今後も注視していきたい情報源である。Margaritelliはまた、彼の記事の中で、Linuxの一般的なセキュリティの堅牢性について楽観的でないように見える無名のソースを引用している:



"一般的なセキュリティの観点からは、現在のLinuxシステム全体は、悪用されるのを待っているセキュリティホールの果てしなく絶望的な混乱にすぎない。"

これは、グローバルな開発コミュニティの間でセキュリティ意識の向上と安全なコーディング・スキルが切実に求められていることは言うまでもないが、オープンソース環境に依然として蔓延している固有のセキュリティ・リスクを痛感させるものである。

CVEを見てみよう:

脆弱性の連鎖は広範囲に及んでおり、現在、以下のパッケージの現在および以前のバージョンすべてに影響を及ぼしています:

  • ディストロテック/カップフィルター
  • OpenPrinting/カップフィルター
  • カップブラウジング
  • libcupsfilters
  • libppd

CUPSは、20年以上にわたってUNIXおよびLinuxオペレーティング・システムのレガシー・コンポーネントである。CUPSのプリントサービス依存機能は、ネットワーク・リクエストの実行に熱心であるため、RCEクラスの脆弱性の格好の標的となっている。

しかし、この例では、攻撃を組み合わせて成功させる方法に工夫が見られる。これは基本的に、認証されていない、検出されていない攻撃者が、インターネット・プリンティング・プロトコル(IPP)のURLを悪意のあるものに置き換える能力であり、さらに「PPD(PostScript Printer Description)ファイル(新しく追加されたプリンタの機能を記述するために使用されるファイル)」にコマンドインジェクションを引き起こす可能性のあるディレクティブを修正する能力である。この結果、印刷ジョブがアクティブになると、コマンド実行攻撃が発生し、CUPSコンポーネント内の入力検証の欠如に依存することになる。

さらに、Evilsocketが指摘するように、この特定の脆弱性を修正することは、諸刃の剣のようなものを生み出す。CUPSにはfoomatic-ripフィルターが含まれているが、この実行ファイルは以前から危険性が高く、悪用されやすいコンポーネントであった。このコンポーネントに関連するCVEは2011年までさかのぼり、foomatic-ripを活用してOSコマンドを実行できることは確認されているが、これを修正すると安定性に問題が生じ、多くの古いプリンターのサポートが失われる。これは克服すべき複雑な問題である。

  1. 脅威行為者が攻撃を開始
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. 被害者システムはプリンタ属性を処理する
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. 被害者システムは攻撃者コントローラのIPPサーバに接続する。
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

RCEリスクを軽減するには?

CUPSを業務の一部として利用している企業は、Evilsocket社および RedHat社が推奨する修復アドバイスに従わなければならない。これには、緊急レベルの優先事項としてセキュリティパッチを適用することが含まれるが、これに限定されるものではない。

コマンド・インジェクション全般については、包括的なガイドを参照してください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

目次

リソースを見る
ご興味がおありですか?

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約するダウンロード
シェアする
リソース・ハブ

始めるためのリソース

その他の記事
リソース・ハブ

始めるためのリソース

その他の記事