CUPS(Common UNIX Printing System)でゼロデイRCE脆弱性が発見される
2024年9月27日
0 分で読めます2024年9月27日、evilsocket.net(Simone Margaritelli)が、任意のリモートコード実行(RCE)を可能にする可能性がある、Common UNIX Printing System(CUPS)の複数の脆弱性に関する情報を公開しました。現在、これらの調査結果に関連するCVEは4件あり、今後さらに追加される可能性があります。また、これらの脆弱性の深刻度については議論が続いていますが、CVEの1つには当初CVSSスコア9.9が付与されました。新たな情報が判明した場合は、このブログを更新します。
重要なお知らせ:これらの脆弱性や、発見者であるSimoneが検出したその他の脆弱性に関連するCVEが、今後さらに発行される可能性があります。必要に応じて、このブログを新しい情報で更新します。
現時点で判明していること
人気のプリンターサポートパッケージであるCommon UNIX Printing System(CUPS)に影響する新たなゼロデイ脆弱性が確認されました。下流パッケージのcups-browsed、libcupsfilters、cups-filters、libppdに影響します。この脆弱性により、認証なしでリモートコード実行(RCE)が可能となり、少なくとも1件にはCVSSスコア9.9が割り当てられています。ただし、この脆弱性を悪用できるのはCUPSサービスが有効なサーバーに限られます。また、UDPポート631(CUPSを別のポートに割り当て直すことも可能です)へのアクセスが必要です。これは外部ネットワークからのアクセスで一般的です。あるいは、内部ネットワークで一般的なDNS-SDが必要になります。
この脆弱性に関するアドバイザリは複数あります。
CVE-2024-47177: https://security.snyk.io/vuln/?search=CVE-2024-47177
CVE-2024-47176: https://security.snyk.io/vuln?search=CVE-2024-47176
CVE-2024-47076: https://security.snyk.io/vuln?search=CVE-2024-47076
CVE-2024-47175: https://security.snyk.io/vuln?search=CVE-2024-47175
この脆弱性は、以下のパッケージのこれまでのすべてのバージョンに影響します。
distrotech/cups-filters- 全バージョンOpenPrinting/cups-filters- 全バージョンcups-browsed- 全バージョンlibcupsfilters- 全バージョンlibppd- 全バージョン
CUPSは1999年以降、UNIXおよびLinuxのオペレーティングシステムに採用されており、多くのUNIX/Linuxディストリビューション、Apple、WindowsなどのOSで広く配布されています。CUPSは印刷サービスを提供するため、通常はネットワーク要求をリッスンしており、RCEの脆弱性や攻撃を受ける可能性があります。
修正に向けた備え
SnykはSnyk Open SourceとSnyk Containerの両方でこの脆弱性を検出します。管理対象外のC/C++パッケージも検出可能です。さらに、Snykとランタイムセキュリティパートナーは、脆弱性のあるコンテナが稼働しているかどうかを確認できます。多くの場合、コンテナの実行中に影響を受けるCUPSプロセスが読み込まれているか、またコンテナがネットワークアクセス用に構成されているかも判断できます。
CUPSへの露出状況を把握するため、コンテナとパッケージの使用状況を確認してください。
CUPSが本当に必要かを確認し、不要な場合は削除または無効化を検討してください。
CUPSが不要であると確実に判断できる場合は、外部ネットワークからのUDPポート631へのアクセスをブロックすることを検討してください。内部ネットワークのDNS-SDトラフィックをブロックする方法もありますが、DNS-SDはCUPS以外にも使用されるため、追加調査が必要になる場合があります。
Snyk Open Source
Snyk Open Sourceで影響を受けるパッケージを検出するには、snyk testコマンドを使用してください。C/C++コードやライブラリがある場合は、snyk test --unmanagedコマンドを使用してください。Snyk Open Sourceで監視中の、以前にスキャンしたプロジェクトは自動的に再テストされます。対象プロジェクトを確認できます。
サポート対象のSCMインテグレーション(GitHub、Bitbucket、GitLab、Azure Repos)を使ってプロジェクトをSnykにインポートすると、自動的にテストが実行されます。これにより、Snyk UIでプロジェクト内の脆弱性を特定し、優先順位を付けて修正できます。
Snyk CLIとCI/CDインテグレーション:
ほとんどのプログラミング言語では
snyk testを使用C/C++プロジェクトでは
snyk test --unmanagedを使用snyk monitorを使用して、これらのプロジェクトを継続的に監視することもできます。
ソースコード管理ツール:
新規インポート時に自動検出
既存プロジェクトの自動再スキャンを実施中
既存プロジェクトは、デフォルトで毎日自動更新
IDE:
SnykのIDEプラグインはSnyk CLIを利用し、スキャン時にこれらの脆弱性を検出します。
Snyk Container
Snyk Containerで影響を受けるコンテナイメージを検出するには、snyk container testコマンドを使用してください。すでにスキャン済みでSnyk Containerによる監視対象となっているプロジェクトは自動的に再テストされます。今すぐ対象プロジェクトを確認できます。
Snyk CLIとCI/CDインテグレーション:
snyk container testはコンテナイメージを検査するとともに、言語のマニフェスト(package.jsonなど)を探して使用状況を検出します。snyk container monitorでもスキャンと検出を行い、今後発見される脆弱性を継続的に監視できます。コンテナレジストリ:
レジストリインテグレーション経由でスキャンされたコンテナは、インポート時にこれらの脆弱性を自動的に検査します。
インポート済みの既存コンテナプロジェクトでは、この脆弱性が検出されるとアラートが表示されます。
ソースコード管理ツール:
Snyk ContainerはSCMからのインポート時にDockerfileをスキャンしますが、確認するのは親イメージ(
FROMコマンド)のみで、一部のDocker Certified親イメージについてのみ脆弱性を報告します。対象の親イメージにこの脆弱性があれば報告されます。ただし、ビルド後に実際のコンテナイメージをスキャンするのが、最も信頼性の高い検出方法です。
Snykのリスクスコアを使った優先順位付け
プロジェクト内で複数のcupsの問題が見つかり、どこから修正すべきか判断に迷うかもしれません。SnykのIssue Risk Scoreは、さまざまなリスク要因を取り入れ、優先して対処すべき問題をすばやく特定できるようにします。スコアにはEPSS、エクスプロイトの成熟度、CVSS、ソーシャルトレンドなど複数のシグナルが含まれます。これを使って脆弱性の一覧をすばやく絞り込み、適切な優先順位で修正できます。
スコアはProjectsページで検出された各問題に表示され、Snykのレポートでも確認できます。

Snyk Reports
今回の脆弱性に関する新しいレポートが、Snykの「Featured Zero-Day」レポート一覧に追加されました。Enterpriseプランをご利用の場合、左側のナビゲーションで「Reports」をクリックするとこのレポートにアクセスできます(GroupレベルとOrgレベルの両方のレポートを利用できます)。デフォルトでは「Issues Detail」レポートが表示されますが、レポートタイトルの横にある「Change Report」ドロップダウンをクリックし、「Featured Zero-Day」を選択できます。次の画面で、Zero-DayドロップダウンリストからCUPSレポートを選択してください。

CVEを他のフィルターと組み合わせて、Issues Detail、Issues Summary、Vulnerabilities Detail、SLA Managementレポートを使い、独自のレポートを作成、保存、共有できます。これにより、Snyk Open Sourceおよび/またはSnyk Containerで検出された脆弱性をすべて追跡できます。レポートやその他のページで、次のCVEを使ってフィルターしてください:CVE-2024-47177、CVE-2024-47176、CVE-2024-47076、CVE-2024-47175。
以下の動画では1つのCVEでフィルタリングしていますが、一度に必要な数だけ指定できます。

ダッシュボードのフィルタリング
Issues画面のInsightsファネルでは、これらの脆弱性があり、外部ネットワークにアクセスできる、現在稼働中のアプリケーションインスタンスを特定できます。必要に応じて、これらの問題だけに絞り込むフィルターを追加することもできます。

Snykの取り組み
Snykのセキュリティ専門家は、リリース情報、脆弱性情報、ソーシャルメディア上の動向などを継続的に追跡し、新たな情報をお客様に提供しています。また、影響を受ける可能性のある下流パッケージがほかにないか調査を進めています。必要に応じてこのブログを更新します。これらの脆弱性についてご質問がある場合は、Snyk Community Discordからお気軽にお問い合わせください。また、これらの脆弱性の影響を受けているか確認するには、無料トライアルにお申し込みください。
