---
title: "imgproxy の ICO 読み込みで追加の 2 件、細工した小さな画像でワーカー停止や約 4GB のメモリ確保（GHSA-494m-4556-wf5p・GHSA-mmq5-xm89-9pfg）: 4.0.17 で両方修正"
url: https://n-t-p.io/worldsecurity/articles/imgproxy-ico-loader-oob-write-unbounded-allocation-before-4-0-17-ghsa-494m-mmq5
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年10月31日
updated: 2026年10月31日
severity: 高
---

# imgproxy の ICO 読み込みで追加の 2 件、細工した小さな画像でワーカー停止や約 4GB のメモリ確保（GHSA-494m-4556-wf5p・GHSA-mmq5-xm89-9pfg）: 4.0.17 で両方修正

> **TL;DR:** imgproxy の ICO ローダーに追加の勧告が 2 件。GHSA-mmq5-xm89-9pfg は宣言された大きさを検証せず、23 バイトの細工ファイルで約 4GB の確保（4.0.15 以下、4.0.16 で修正）。GHSA-494m-4556-wf5p は小さな宣言でヒープの境界外を読み書きしワーカーが異常終了（4.0.17 未満、4.0.17 で修正）。GitHub の評価は High・CVSS v3.1 7.5（NVD の値ではない）。CVE 未割り当てのため NVD・EPSS・KEV は照合不可。4.0.17 以上へ更新を。

**要点**
- GHSA-mmq5-xm89-9pfg：ICO エントリの data_size を検証せず VIPS_MALLOC に渡す（CWE-400）。23 バイトの細工ファイルで約 4GB を確保しようとし、メモリの小さい環境ではワーカーが落ちる。3.3.0 以上 4.0.15 以下、4.0.16 で修正
- GHSA-494m-4556-wf5p：data_size が小さいと BMP ヘッダー復元が確保領域の外を読み書きし、解放時にワーカーが異常終了（CWE-125・CWE-787）。3.3.0 以上 4.0.17 未満、4.0.17 で修正
- どちらも認証なしで画像を渡せる相手が引き起こせる。GitHub の評価は High・CVSS v3.1 7.5（可用性のみ）で NVD の値ではない。CVE 未割り当てのため NVD・EPSS・KEV は照合不可、悪用の報告なし
- 4.0.17 以上（最新は 4.0.20）へ更新。更新できない間は信頼できない画像を受けない構成にする（本記事の推定。勧告に回避策の記載なし）
- 再現は未実施。より重い影響に至るかは未確認

画像変換サーバー imgproxy の ICO ローダー（`vips/icoload.c`）に、10/30（UTC）に公開された勧告が 2 件あります。**GHSA-mmq5-xm89-9pfg** は、ICO のエントリが宣言するデータの大きさを検証せずにそのまま領域確保に使うため、23 バイトの細工ファイル 1 つで約 4GB の確保が起きます（CWE-400）。**GHSA-494m-4556-wf5p** は、宣言された大きさが小さいと BMP ヘッダーの復元が確保領域の外を読み書きし、ワーカーが異常終了します（CWE-125・CWE-787）。どちらも GitHub の評価は High（CVSS v3.1 7.5、可用性のみの影響、AV:N/AC:L/PR:N/UI:N）で、**CVE は未割り当て**です。4.0.17 に更新すれば両方が直ります。以前に取り上げた整数あふれ（GHSA-hff9-5pqw-6w9f、4.0.16 で修正）とは別の勧告です。

## 何が起きるか

| 勧告 | 内容 | 影響を受ける版 | 修正版 |
|---|---|---|---|
| GHSA-mmq5-xm89-9pfg | ICO のエントリが宣言する `data_size`（32 ビット値）を検証せずに `VIPS_MALLOC` へ渡す。勧告の例では約 4GB を確保しようとする | 3.3.0 以上 4.0.15 以下 | 4.0.16 |
| GHSA-494m-4556-wf5p | `data_size` が小さい（例: 1）と、BMP ヘッダー復元時の読み書きが確保領域（`data_size + 14` バイト）の外に及び、直後のヒープ領域の管理情報を壊す。その後の解放で異常終了する | 3.3.0 以上 4.0.17 未満 | 4.0.17 |

- 勧告によると、どちらも認証なしで、画像を渡せる相手が引き起こせます。勧告が示す影響は、前者がメモリ枯渇による停止（メモリの小さい環境ではワーカーが落ち、大きい環境では確保に失敗して HTTP 500 になりつつ、要求ごとに一時的に約 4GB を使う）、後者がワーカーの異常終了（1 リクエスト 1 ワーカー）です。
- 勧告の試験用ファイルはどちらも 23 バイトです。勧告の確認は、ローカルファイルの取得を有効にした 4.0.15 で行われています。
- 外部から取得した画像（利用者が指定した URL の画像など）を処理する構成は、特に注意が必要です（本記事の推定）。
- 悪用の報告は確認できていません。当サイトでは再現を行っていません。

## 評価・照合状況

| 項目 | 内容 |
|---|---|
| CVSS | GitHub の評価で v3.1 7.5（CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H）、深刻度は High。2 件とも同じ。NVD の値ではない |
| CVE・NVD | 未割り当てのため、NVD の評価は存在しない |
| EPSS | CVE がないため算出なし |
| KEV | CVE がないため照合対象外。CISA の KEV（2026.10.30 版・1766 件）に imgproxy の掲載はなし |
| 弱点 | CWE-400（GHSA-mmq5）、CWE-125・CWE-787（GHSA-494m） |

## 修正の中身

- **4.0.16**（リリース 9/28 UTC、ノートは「ICO ローダーの複数の脆弱性を修正」）: 修正コミット a821b6a は、1 エントリの大きさに上限（10 MB）を設けて超える値を拒否します。このコミットが v4.0.16 に含まれることは、比較（v4.0.16 より前）で確認しました。
- **4.0.17**（リリース 9/30 UTC、ノートは「ICO ローダーの境界外読み取りを修正」）: 修正コミット 39fd9e8（9/29 UTC）は、BMP ヘッダーに足りる大きさかの確認を、誤っていた変数（`full_data_size`）から宣言されたデータの大きさ（`data_size`）に直し、不正な ICO の試験ファイルを加えます。このコミットが v4.0.17 に含まれることは、比較で確認しました。最新のリリースは v4.0.20（10/26 UTC）です。
- 勧告の公開（10/30 UTC）は修正リリースの約 1 か月後です。

## 対応

1. imgproxy を 4.0.17 以上（できれば最新）に更新します。コンテナで使う場合はイメージのタグも確認します。
2. すぐ更新できない場合は、画像の取得元を許可リストや署名付き URL で絞り、信頼できない画像を受けない構成にします（本記事の推定。勧告に回避策の記載はありません）。
3. 更新前に、ワーカーの異常終了やメモリ不足による停止が起きていないかをログで見直します（本記事の推定）。

## 未確認の点

- 悪用の報告は確認できていません。CVE がなく、NVD の評価・EPSS は存在しません。
- 当サイトでは再現していません。記載は GitHub の勧告、修正コミット、リリースノートに基づきます。
- GHSA-494m の勧告は、実証された影響を「サービス拒否」としています。メモリ破壊の状況により、より重い影響に至るかは確認できていません。
- 勧告が示す対象は 3.3.0 以降です。それより前の版の扱いは確認していません。
- GitHub の評価（v3.1 7.5）以外の評価は、当サイトでは確認できていません。


## 出典
- [GitHub Advisory GHSA-mmq5-xm89-9pfg](https://github.com/advisories/GHSA-mmq5-xm89-9pfg) — GitHub
- [GitHub Advisory GHSA-494m-4556-wf5p](https://github.com/advisories/GHSA-494m-4556-wf5p) — GitHub
- [imgproxy v4.0.16 リリース](https://github.com/imgproxy/imgproxy/releases/tag/v4.0.16) — GitHub
- [imgproxy v4.0.17 リリース](https://github.com/imgproxy/imgproxy/releases/tag/v4.0.17) — GitHub
- [修正コミット 39fd9e8（4.0.17）](https://github.com/imgproxy/imgproxy/commit/39fd9e844a8a46084161502e993d5a3c16ccf28d) — GitHub
- [修正コミット a821b6a（4.0.16）](https://github.com/imgproxy/imgproxy/commit/a821b6a4cb07a1bf2bb9077431d1c1e734d79917) — GitHub
- [CISA KEV カタログ（2026.10.30 版）](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/imgproxy-ico-loader-oob-write-unbounded-allocation-before-4-0-17-ghsa-494m-mmq5