CVE-2021-22564は、JPEG XL画像のデコードライブラリlibjxlにおける境界外書き込みの脆弱性です。この脆弱性は、特定のJPEG XL画像(グループ数が整数値に近いサイズ)を、特定の順序で処理する際に発生します。攻撃者は、この脆弱性を悪用して、情報漏洩やサービス拒否を引き起こす可能性があります。影響を受けるバージョンはlibjxl 0.6.0以前です。最新バージョンへのアップグレードが推奨されます。
この脆弱性は、攻撃者が細工されたJPEG XL画像をlibjxlに読み込ませることで悪用されます。画像内のグループの順序やサイズを操作することで、デコーダーがヒープ領域の画像バッファに不正なデータを書き込みます。これにより、機密情報が漏洩したり、プログラムがクラッシュしてサービスが停止したりする可能性があります。特に、マルチスレッド環境でこの脆弱性が悪用される可能性が高く、複数のスレッドが同時に画像データを処理する際に、競合状態が発生しやすいためです。攻撃者は、この脆弱性を利用して、システムへのアクセス権を取得したり、悪意のあるコードを実行したりする可能性があります。
この脆弱性は、2021年11月1日に公開されました。現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、JPEG XLの利用拡大に伴い、悪用される可能性は否定できません。この脆弱性は、CISAのKEV(Known Exploited Vulnerabilities)カタログにはまだ登録されていません。公開されているPoCは確認されていませんが、JPEG XLの処理における脆弱性であるため、注意が必要です。
Applications and systems that rely on libjxl to decode JPEG XL images are at risk. This includes image processing software, web servers serving JPEG XL content, and embedded devices using libjxl for image handling. Systems that process user-uploaded images are particularly vulnerable, as they are more likely to encounter malicious files.
• linux / server: Monitor libjxl process memory usage for unusual spikes during image decoding. Use lsof or ss to identify processes using libjxl and investigate any suspicious network connections.
lsof -p $(pidof libjxl)• generic web: Examine web server access logs for requests containing JPEG XL images with unusually large file sizes. Check error logs for any crashes or exceptions related to libjxl during image processing.
grep 'libjxl' /var/log/nginx/error.logdisclosure
エクスプロイト状況
EPSS
0.04% (13% パーセンタイル)
CVSS ベクトル
この脆弱性への対応策として、libjxlをバージョン0.6.0以降にアップグレードすることが最も効果的です。アップグレードが困難な場合は、JPEG XL画像の処理を一時的に停止するか、信頼できるソースからの画像のみを処理するように制限してください。また、WAF(Web Application Firewall)やIPS(Intrusion Prevention System)などのセキュリティ対策を導入し、不正なJPEG XL画像のアクセスを検知・遮断することも有効です。libjxlの処理を安全に行うためには、画像のサイズや形式を厳密に検証し、異常なパターンを検出する仕組みを導入することが重要です。アップグレード後、デコーダーが正常に動作することを確認してください。
libjxl ライブラリを 0.6.0 より新しいバージョンにアップデートしてください。または、https://github.com/libjxl/libjxl/pull/775 で提供されているパッチを適用して脆弱性を修正してください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2021-22564は、libjxlライブラリのバージョン0.6.0以前における、JPEG XL画像の処理中に発生する境界外書き込みの脆弱性です。
libjxlのバージョンが0.6.0以前を使用している場合は、この脆弱性の影響を受けます。
libjxlをバージョン0.6.0以降にアップグレードすることで、この脆弱性を修正できます。
現時点では、この脆弱性を悪用した具体的な攻撃事例は報告されていませんが、悪用される可能性は否定できません。
libjxlプロジェクトの公式ウェブサイトまたはGitHubリポジトリで、関連するアドバイザリを確認してください。