Blog

ディープダイブ:GNU-Linuxシステムにおける重大なCUPSの脆弱性の対処法

October 7, 2024
ローラ・バーハイド

Linuxユーザーは最近楽な時間を過ごしていません。過去数年にわたって、いくつかの重大度の高い脆弱性がさまざまな方法でシステムに影響を及ぼしたと報告されています。セキュリティ研究者は、強力なリモートコード実行 (RCE) への潜在的な経路を持つ GNU/Linux システムを標的とする Common UNIX プリンティングシステム (CUPS) 機能に関連する脆弱性を発見しなければならなくなりました。

2024年9月27日、evilsocket.netのシモーネ・マルガリテッリ 公開された重要な情報 CUPSのいくつかの悪用可能な脆弱性について。その後、そのうちの4つにCVEが割り当てられました。この数は増える可能性がありますが、この記事を書いている時点で、セキュリティコミュニティはこれらの発見の実際の深刻さについて議論しています。CVEの1つでありながら、 CVE-2024-47177は、MITREの現在の重大度評価が9.1です。このコマンドインジェクションの欠陥が正常に操作できるかどうかは、CUPSサービスが有効になっているサーバーに依存し、さらにUDPポート631またはDNS-SDへのアクセスが必要です。 レッドハット ただし、CUPS を別のポートに再マップすることは可能であることに注意してください。

マルガリテッリがインシデントを包括的に分析したところ、コミュニティの意見の相違はあるものの、無視してはいけない陰湿で複雑な攻撃の連鎖が明らかになっています。これは、脅威アクターが十分に判断されていて、貧弱なコーディングパターンによって小さな機会の窓が開かれたままになっていれば、一見無害に見える依存関係が深く悪用される可能性があるという教訓を与えてくれます。

CUPSのシナリオは、多くの開発者やアプリケーション・セキュリティ・プロフェッショナルがこれまでに経験したことがあるシナリオとは少し異なるため、その過程で見て自分のスキルをテストしてみましょう。

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

ザの イービルソケットブログ これらのエクスプロイトについて、他に類を見ない徹底した背景を説明しています。この資料は、今後も綿密に追跡していく予定です。Margaritelli 氏はまた、記事の中で名前のない情報源を引用している。彼は Linux の一般的なセキュリティ堅牢性について楽観的ではないようだ。



一般的なセキュリティの観点から見ると、現在のLinuxシステム全体は、悪用されるのを待っているセキュリティホールが際限なく絶望的に散らばっているだけです。

これは、グローバルな開発コミュニティにおけるセキュリティ意識の高まりと安全なコーディングスキルの切実な必要性は言うまでもなく、オープンソース環境に依然として蔓延している固有のセキュリティリスクを冷静に思い出させるものです。

CVE を見てみましょう。

この脆弱性チェーンは広範囲に及んでおり、現在、以下のパッケージのすべての現行バージョンと以前のバージョンに影響しています。

  • ディストロテック/カップフィルター
  • オープンプリント/カップフィルター
  • カップブラウズ
  • リブカップフィルター
  • libppd

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

ただし、この場合、攻撃を組み合わせて成功させる方法には、ある程度の工夫があります。これは本質的に、認証も検知もされていない攻撃者が、新たに追加されたプリンターの機能を説明する「PPD (PostScript Printer Description)」ファイル内のコマンドインジェクションを引き起こす可能性のあるディレクティブを変更できることに加え、インターネット印刷プロトコル (IPP) の URL を悪意のある URL に置き換える能力です。その結果、印刷ジョブがアクティブになるとコマンド実行攻撃が発生し、CUPS コンポーネント内の入力検証が不十分であることが前提となります。

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

  1. 脅威アクターが攻撃を開始
    1. CVE-2024-47176: cups-browsed <= 2.0.1 は、INADDR_ANY を使用して UDP ポート 631 にバインドされるため、脆弱性が高くなります。つまり、どの送信元からでも受信したすべてのパケットを信頼することになります。これにより、認証されていないリモートの攻撃者が、(攻撃者が制御する IPP サーバーを指す) 操作された IPP URL を含む悪意のある UDP パケットを送信し、脆弱性を引き起こす可能性があります。被害者のマシンは、新しいプリンターに接続していると考え、プリンターの属性を求めるリクエストを送信します。
  2. 被害者システムがプリンターの属性を処理する
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 には、CFGetPrinterAttributes5 に脆弱性があります。この脆弱性は、IPP サーバーから返される IPP 属性を適切に検証またはサニタイズしません。cups-browsed がパケットを処理する際に、攻撃者が送信した悪意のある属性をだまして読み取る可能性があります。
  3. 被害者システムが攻撃者コントローラーの IPP サーバーに接続する
    1. CVE-2024-47175: ppdCreatePPDFromIPP2 関数の libppd <= 2.1b1 は、IPP 属性をテンポラリ PPD (PostScript プリンタ説明) ファイルに保存するときに、IPP 属性を適切に検証またはサニタイズしません。これにより、攻撃者は、印刷システムが後で実行できる FoomaticRipCommandLine ディレクティブなど、任意のデータを PPD ファイルに挿入できます。
  4. 被害者システムが印刷ジョブを開始し、攻撃者のコードが実行される
    CVE-2024-47177
    : cups-filters <= 2.0.1 には脆弱性があります。これは、foomatic-rip フィルターが FoomaticRipCommandLine ディレクティブを介して任意のコマンドを実行し、攻撃者がカップをブラウズしたプロセスとしてコマンドを実行できるようになるためです。攻撃者は、被害者のマシンが印刷ジョブを開始するのを待ちます。これが発生するとすぐに、攻撃者の悪質なコードが実行されます (リモートコード実行)。

RCEリスクを軽減するにはどうすればよいか?

事業運営の一環としてCUPSを利用している企業には、以下の推奨改善アドバイスに従う必要があります。 イービルソケット そして レッドハット。これには、緊急時の優先事項としてのセキュリティパッチの適用が含まれますが、これらに限定されません。

一般的なコマンドインジェクションについては、こちらをご覧ください 総合ガイド

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

キャッチフレーズ

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
キャッチフレーズ

Explore more blogs

これは、オーラが射手と鼻の穴を広げることによって、腸管を熱的に発芽させ、臭いを帯びていることを防ぐためのものです。

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Blog
Filter Label
This is some text inside of a div block.

The Future of AI Software Governance Is Built on Strong Partnerships

Discover why Secure Code Warrior is becoming a channel-first company and how trusted partners help organizations adopt AI Software Governance securely and at scale.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Citizen AI by Secure Code Warrior: Build an AI-Ready Workforce

Secure Code Warrior's AI literacy program for non-developer employees.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Why most CISOs are navigating AI adoption blindfolded (and how they can remove it)

Today, Secure Code Warrior issued an all-new white paper covering a prescriptive, directional AI adoption model that security leaders can use to identify their adoption stage and make real progress in bringing the AI security risks within their organization under control.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo