脆弱性概要 脆弱性名称: Little CMS (lcms2) の 関数に整数オーバーフローの脆弱性が存在。 脆弱性の説明: 関数は 配列の値による乗算オーバーフローが発生した場合、ラップアラウンド(wrap-around)した値を返す。呼び出し元はこの誤った値に基づいて小さな CLUT(探索表)バッファを割り当てるが、その後の処理でバッファの範囲外を読み取るため、セグメンテーションフォールト(SIGSEGV)が発生する。 脆弱性の影響: この脆弱性を利用して、Poppler や OpenJDK などのアプリケーションをクラッシュさせることができる。 影響範囲 影響を受けるバージョン: リリースされたすべての lcms2 2.18 バージョン。 影響を受けるシステム: - Ubuntu 24.04 LTS - Debian bookworm - Fedora - Alpine Edge - Windows Server 2022 - macOS(一般ユーザー向けパス) - Ghostscript 10 - ImageMagick - Pillow - libvips - Node.js - Python (ctypes) - Rust (lcms2 crate 5.6) 修復方法 修復状況: アップストリームで修正済みだが、新しいバージョンはまだリリースされていない。 修正コミット: - (2025年2月) - (2025年3月) 修正内容: 関数内の整数オーバーフローの問題を修正した。 POCコード 直接 C POC 92バイトのPDF Python (ctypes) Rust (Cargo.toml 以降5行) 情報漏洩 (CWE-200) 脆弱性の説明: Ubuntu 24.04 LTS において、ASLR と glibc のデフォルトアロケータを使用した場合、最初の出力バイトを 経由でプリラン(pre-run)されたスタックバイトに追跡可能である。 影響: 機密情報の漏洩につながる可能性がある。 まとめ 本脆弱性は整数オーバーフローに起因し、セグメンテーションフォールトおよび情報漏洩を引き起こす可能性がある。影響を受けるアプリケーションには Poppler や OpenJDK などがある。アップストリームでは修正済みだが、新しいバージョンはまだリリースされていない。