ImageSharpの脆弱性CVE-2026-106113、細工したTIFFでプロセスが終了するおそれ。3.2.0で要るライセンスキーと、2系・.NET Frameworkの扱い
CVE-2026-106113.NETの画像処理ライブラリImageSharpで、細工した32ビット浮動小数点のTIFFにヒストグラム平坦化(HistogramEqualization())をかけると、範囲外のメモリに触れてプロセスが終了するおそれがある脆弱性CVE-2026-106113が、2026年9月15日にSix Laborsから公表されました。修正版は4系が4.1.2、3系が3.2.0です。3.2.0からはビルドにライセンスキーが必要になり、2系と.NET Framework向けには修正版がありません。
2026-11-01更新:一次情報(提供元のアドバイザリ、NVD、NuGetのパッケージ、Six Laborsの文書)と照合し、3.2.0からのライセンスキー、2系・.NET Frameworkの扱い、NVDの説明文と3.2.0の関係を加えて書き直しました。
- 対象は、外部から受け取ったTIFFを
Image<HalfVector4>として読み込み、HistogramEqualization()をかける処理です。リサイズや形式の変換だけの使い方は、この件の報告の条件に含まれていません。 - 4系は4.1.2以上(最新は4.1.3)、3系は3.2.0に上げます。2系に修正版は無く、3系は.NET 6以上、4系は.NET 8以上が必要です。
- 3.2.0と4系は、ImageSharpを直接参照するプロジェクトのReleaseビルドで、Six Laborsのライセンスキーを求めます。更新の前に、キーを用意できるかを確かめます。
01ImageSharpのCVE-2026-106113で起きること
提供元のアドバイザリによると、HistogramEqualization()は、画素の明るさ(輝度)からヒストグラムの位置を計算し、その値を確かめずにメモリ上の位置として使っていました。32ビット浮動小数点のTIFFに「正の無限大」の値を入れると、計算した位置が範囲を外れ、安全でないメモリへのアクセスが起きます。[1]
報告者の再現では、2.0.0・3.1.12・4.0.0・4.1.1でAccessViolationExceptionが起き、プロセスが終了しました。画像を処理するサービスが止まるおそれがあります。深刻度は提供元の評価でCVSS 3.1の7.5(可用性への影響が高)で、NVDも同じ値を載せています。[1][3]
無限大の画素を持つTIFFで、ヒストグラムの位置が範囲を外れ、プロセスが終了する
提供元のアドバイザリにある仕組みを、入口・処理・起きることの順に並べる。
ImageSharpのHistogramEqualization()
出典 Six Labors「GHSA-j3p4-wp97-rph4」(2026-09-15)
02ImageSharpの脆弱性の対象になる処理
次の3つがそろう場合が対象です。報告の対象はHistogramEqualizationだけで、適応型のヒストグラム平坦化とAutoLevelは含まれていません。[1]
- SixLabors.ImageSharpが2.0.0以上3.2.0未満、または4.0.0以上4.1.2未満(TIFFの読み込みは2.0.0から)
- 攻撃者が用意した32ビット浮動小数点のTIFFを、
Image<HalfVector4>として読み込む - 読み込んだ画像に
HistogramEqualization()をかける
Webの画像の変換に使われるImageSharp.Webの標準の処理(リサイズ、形式、画質、背景色、向きの補正)には、ヒストグラム平坦化は含まれていません(当社がソースで確認)。自分のコードでHistogramEqualizationとHalfVector4を使っているかを探すと、見分けがつきます。[5]
03悪用の状況
2026年11月1日時点で、米国のCISAが公開している「悪用が確認された脆弱性の一覧(KEV)」には載っていません。
今後30日以内に悪用される確率の推定値(EPSS)は0.4%です(2026-11-01時点)。見込みは高くない部類ですが、推定値で、悪用されないことを保証するものではありません。
提供元のアドバイザリには、無限大の画素を持つTIFFを作ってプロセスを終了させるまでの再現用のコード(PoC)とDockerfileが載っています。アドバイザリには「悪用の事例は知られていない」と書かれていて、CISAのコーディネーターがCVEの記録に付けた評価(SSVC)も10月7日時点で悪用「なし」です。当社はPoCを検証していません。[1][3]
4.1.2の翌日に公表、3系の修正版は約4週間後で、悪用は11月1日時点で確認されていない
提供元の公表、修正版の公開、データベースへの登録の日付を並べる(日本時間)。
2026年9月14日
9月15日
10月7日
10月8日
10月9日
11月1日
出典 Six Labors「GHSA-j3p4-wp97-rph4」(2026-09-15)、NVD「CVE-2026-106113」(2026-10-07)
04ImageSharpの対象の版と推奨する版
系列ごとの対象と修正版は次のとおりです。必要な.NETの版は、NuGetに登録された対応の環境です。[1][2][4]
| 系列 | 対象 | 推奨する版 | 必要な.NET |
|---|---|---|---|
| 4系 | 4.0.0〜4.1.1 | 4.1.2以上(9月14日公開、最新は4.1.3) | .NET 8以上 |
| 3系 | 3.0.0〜3.1.12 | 3.2.0(10月9日公開) | .NET 6以上 |
| 2系 | 2.0.0以上 | 記載なし(出典で確認) | .NET Framework 4.7.2・.NET Standard 2.0など |
3系の修正版3.2.0は、4系の4.1.2から約4週間後の10月9日に公開され、アドバイザリも同じ日に更新されました。NVDの説明文は11月1日時点でも「4.1.2未満が対象、4.1.2で修正」のままで、これを写した脆弱性データベースでは3.2.0も対象と表示されることがあります。提供元のアドバイザリとNVDの対象の定義(CPE)は、どちらも3.2.0を修正版としています。[1][3]
4系は4.1.2以上、3系は3.2.0に上げ、2系には修正版が無い
系列ごとの対象と推奨する版、必要な.NET、ライセンスを並べる。
出典 Six Labors「GHSA-j3p4-wp97-rph4」(2026-09-15)、NuGet「SixLabors.ImageSharp」(2026-11-01確認)
05ImageSharpの版を確かめて上げる手順
プロジェクトが参照しているImageSharpの版を、間接的な依存も含めて確かめます。
ターミナルdotnet list package --include-transitive | grep -i imagesharpNuGetの脆弱性の情報で、対象の版が入っていないかも確かめます。
ターミナルdotnet list package --vulnerable --include-transitiveコードの中で、該当の処理を使っているかを探します。
ターミナルgrep -rn -E 'HistogramEqualization|HalfVector4' --include='*.cs' .使っている系列の修正版へ上げます(4系か3系の、どちらかの行を実行します)。
ターミナルdotnet add package SixLabors.ImageSharp --version 4.1.3 dotnet add package SixLabors.ImageSharp --version 3.2.0ライセンスキーを環境変数から渡す場合は、プロジェクトファイルに次を足し、
SIXLABORS_LICENSE_KEYに発行されたライセンスの全文を入れます(Six Laborsの文書の例)。csproj<PropertyGroup> <SixLaborsLicenseKey>$(SIXLABORS_LICENSE_KEY)</SixLaborsLicenseKey> </PropertyGroup>Releaseでビルドできることを確かめ、もう一度版を確かめます。コンテナのイメージなども作り直します。
ターミナルdotnet build -c Release dotnet list package --include-transitive | grep -i imagesharp
06すぐに上げられないとき
提供元のアドバイザリに回避策の節はありません。次は、公表された成立条件から当社が整理した緩和策で、提供元の推奨ではありません。
- 外部から受け取った浮動小数点のTIFFに、
HistogramEqualization()をかけない - 処理の前に、画素に無限大などの有限でない値が含まれていないかを確かめる
- TIFFを受け付ける必要がなければ、読み込む前に形式を確かめて拒否する
073.2.0と4系は、ビルドにライセンスキーが要る
Six Laborsの文書は、ImageSharpを直接参照するプロジェクトには、3系では3.2.0から、4系では4.0.0から、ビルドの際に有効なライセンスキーが必要だと説明しています。間接的な依存として入る場合は対象外で、提供元は「既存のライセンス条件の適用で、条件の変更ではない」としています。[6]
3.2.0のパッケージにはビルドのときにライセンスを確かめる処理が入っていて、キーが見つからないと、Debugのビルドは続けられますが、Releaseのビルドは失敗します。キーは、sixlabors.licをプロジェクトのフォルダに置くか、SixLaborsLicenseKey・SixLaborsLicenseFileのプロパティで渡します。[6][7]
3系以降のライセンスはSix Labors Split Licenseで、オープンソースのソフトウェアでの利用、非営利の団体、年間の総収入が100万米ドル未満の企業などはApache License 2.0で使え、それ以外は商用ライセンスが必要です。2系はApache License 2.0でした。前者に当たる場合も、キーの申し込みが要ります。[4][7][8]
082系・.NET Frameworkで使っている場合
2系向けの修正版は、アドバイザリに記載がありません。2系の最新は2025年11月の2.1.13で、NuGetはこの版にもこの件を表示しています。2系は.NET Framework 4.7.2や.NET Standard 2.0に対応していますが、3.2.0は.NET 6、4系は.NET 8向けで、.NET Frameworkのアプリには入れられません。[1][4]
その場合は、.NET 6以降へ移って3.2.0か4系を入れるか、移るまでの間、前の節の緩和策で該当の処理を止めます。2系から上げるときは、ライセンスの条件とキーの用意も確かめます。
脆弱性の公表・更新一覧で、.NETの関連情報を調べることもできます。

よくある質問
画像のリサイズにしか使っていません。急いで上げる必要はありますか?
この件の条件には当たりません。ただし同じ3.2.0・4.1.2で、TIFFのCCITT符号化での範囲外の書き込み(CVE-2026-106110)など、他の処理の脆弱性も直っています。外部から受け取った画像を読み込むなら、上げる理由は残ります。[9][10][11]
脆弱性データベースで、3.2.0も対象と表示されます。
NVDの説明文が4系の修正版だけを書いているためです。提供元のアドバイザリは10月9日の更新で3.2.0を修正版としていて、NVDの対象の定義(CPE)も3.2.0未満を対象にしています。[1][3]
出典・参考資料
- Six Labors:GHSA-j3p4-wp97-rph4(提供元のアドバイザリ)2026-09-15公表・10-09更新(日本時間) / 仕組み、対象(2.0.0以上3.2.0未満・4.0.0以上4.1.2未満)、修正版、再現の結果、PoC、悪用の事例は知られていないこと、CVSS 3.1 7.5
- GitHub Advisory Database:GHSA-j3p4-wp97-rph42026-10-08収録・10-26更新(日本時間) / 収録日、CVE-2026-106113との対応
- NVD:CVE-2026-1061132026-10-07登録(日本時間) / 説明文の記載、対象の定義(CPE)、CVSS 3.1 7.5、CISAのSSVC(悪用なし)
- NuGet:SixLabors.ImageSharp2026-11-01確認 / 各版の公開日(4.1.2は9月14日、3.2.0・4.1.3は10月9日)、対応の環境、2.1.13のライセンスと脆弱性の表示
- Six Labors:ImageSharp.Webの処理(src/ImageSharp.Web/Processors)2026-11-01確認 / 標準の処理がリサイズ・形式・画質・背景色・向きの補正であること
- Six Labors:ImageSharpの文書(License・How to use the license file)2026-10-09更新 / 3.2.0・4.0.0からビルドにライセンスキーが要ること、直接の参照だけが対象、キーの渡し方
- NuGet:SixLabors.ImageSharp 3.2.0のパッケージ(build/SixLabors.ImageSharp.targets・LICENSE)2026-10-09 / ビルドのときのライセンスの確認、Debugは続きReleaseは失敗すること、Six Labors Split Licenseの条件
- Six Labors:License Enforcement Changes and a New Subscription Tier2025-09-04 / ビルド時のライセンスキーの導入、直接の依存だけが対象、申し込みの対象
- Six Labors:GHSA-j9gm-c75j-xc9q(CVE-2026-106110)2026-09-15(日本時間) / TIFFのCCITT T4符号化での範囲外の書き込み、3.2.0・4.1.2で修正
- Six Labors:ImageSharp v3.2.0のリリースノート(PR #3208)2026-10-09 / 4系の脆弱性の修正とライセンスの確認を3系に取り込んだこと
- Six Labors:ImageSharp v4.1.2のリリースノート(PR #3187)2026-09-14 / 入力の検証の強化
- 修正のプルリクエスト:github.com/SixLabors/ImageSharp/pull/3187GitHub Advisoryの参考リンク / 修正の内容・経緯
- 修正のコミット:github.com/SixLabors/ImageSharp/commit/c4c4bf292298c026df470db1a17ff826515fd95dGitHub Advisoryの参考リンク / 修正の内容・経緯
- 修正のプルリクエスト:github.com/SixLabors/ImageSharp/pull/3208GitHub Advisoryの参考リンク / 修正の内容・経緯
- 修正のコミット:github.com/SixLabors/ImageSharp/commit/baa37cd19077b2a2a0c5667535111cf31d48c019GitHub Advisoryの参考リンク / 修正の内容・経緯
あわせて読みたい記事
PHPのWindows版のBrotliの脆弱性、8.5.12-1などへの入れ替えとcURL・Guzzleの確かめ方(CVE-2026-111497)
PHPのWindows版に同梱のBrotliの脆弱性CVE-2026-111497は、米CISAが悪用を確認しています。10月21日の版も対象のままである理由、GuzzleやWordPressで自動展開が有効になる条件、8.5.12-1などへの入れ替えと確かめ方を説明します。
Brotliの脆弱性の確認方法、PythonとNode.jsで対象かを確かめて直す(CVE-2026-111497、コード実行のおそれ)
圧縮形式Brotliの展開処理の脆弱性CVE-2026-111497(HTTP2Shell)は、米CISAが悪用を確認しています。Pythonのbrotli・brotlicffi、Node.jsの同梱版などで、自分の版と構成が対象かを確かめる方法と修正版を、言語ごとに説明します。
Starletteの脆弱性BadHost、Hostヘッダーでパスによる認証の確認を回避されるおそれ。FastAPIを上げても古い版が残る場合の確かめ方
Starletteの脆弱性CVE-2026-48710(BadHost)は、細工したHostヘッダーでrequest.url.pathを偽り、パスで判定するアクセスの確認を回避されるおそれがあります。9月2日にKEVに追加されました。FastAPI・vLLM・LiteLLMの下で古いStarletteが残る例と、間接依存の確かめ方を説明します。