Dart・Flutterの脆弱性対応では、ビルドに使うSDK、pubspec.lockの依存、配ったアプリやバイナリを分けて確かめます。SDKの実行環境はアプリに組み込まれるため、上げたあとの作り直しまでが対応です。ここでは2026年の主な脆弱性と、自分の環境が対象かを確かめる方法をまとめます。
- Dart 3.13.7・Flutter 3.47.8で、鍵が漏れたeMudhraの中間証明書を拒否するようになりました。Android・Windows・Linuxのアプリは作り直して配ります。
- セキュリティの更新を受けるのは最新の安定版だけです。11月2日時点ではFlutter 3.47.9(Dart 3.13.7)です。
- pubのパッケージのアドバイザリは
dart pub getで表示されます。CIではOSV-Scannerでpubspec.lockを調べます。
01Dart・Flutterで今確かめたい脆弱性
2026年に公表されたもののうち、Dart SDK・Flutter SDKと、よく使われるpubのパッケージで確かめておきたいものです。米CISAのKEV(悪用が確認された脆弱性の一覧、10月30日版)には、Dart・Flutterを提供元とする項目はありません。ただし、描画ライブラリSkiaのCVE-2026-3909が3月13日に追加され、その説明に影響する製品としてFlutterが挙がっています。[1]
| 脆弱性・問題 | 主な対象・条件 | 修正・対応 |
|---|---|---|
| Google Skia CVE-2026-3909 | KEVに3月13日追加。細工したHTMLで範囲外のメモリに書き込まれるおそれ。KEVはChrome・Android・Flutterなどに影響すると説明。Flutterの変更履歴には、11月2日時点でこのCVEの記載は見当たらない | Flutterは最新の安定版3.47.9へ[1][3] |
| Dart SDK(dart:io) GHSA-frr6-h895-5pxp | Android・Windows、証明書の一覧を更新していないLinuxで外部にTLSで接続するアプリ。鍵が漏れたeMudhraの中間証明書で偽の証明書を作られ、通信を盗み見られるおそれ。Web・iOS・macOSは対象外。深刻度は高 | Dart 3.13.7・Flutter 3.47.8以上で作り直して配る(10月24日)[2] |
| dio_http2_adapter CVE-2026-103030 | 1.0.0〜2.7.1。別のオリジンへのリダイレクトで、Authorization・Cookieのヘッダーを送ってしまう。リダイレクトは既定で有効。CVSS 3.1の7.5 | 2.8.0以上(10月16日)[4] |
| jose(pub) CVE-2026-34240 | 0.3.5以下。JWTのヘッダーに埋め込まれた鍵で署名を検証してしまい、偽のトークンを通すおそれ。CVSS 3.1の7.5 | 0.3.5+1以上[5] |
| Flutterのエンジン(libpng) | Flutterが組み込むlibpngの脆弱性。変更履歴に番号の記載はない | Flutter 3.47.2以上[3] |
| pubのパッケージの展開 CVE-2026-27704 | Dart 3.11.0より前のdart pub・flutter pub。悪意のあるパッケージがpubのキャッシュの外にファイルを書き込むおそれ。深刻度は低 | Dart 3.11.0・Flutter 3.41.0以上[6] |
11月2日時点で上の集計に出ているDartの記録は、dio_http2_adapterの1件です。
02Dart・Flutter SDKのサポート期限と更新先
DartとFlutterがセキュリティの更新を出すのは、最新の安定版だけです。重大な問題は、ベータ版か安定版の修正版で直します。[7][8] 11月2日時点の最新は、Dart 3.13.7(10月22日)と、それを含むFlutter 3.47.9(10月30日)です。[9][10]
| 使っている版 | 状態 | 今上げる先 |
|---|---|---|
| Flutter 3.47.8以降(Dart 3.13.7) | サポート対象。eMudhraの件は修正済み | 3.47.9 |
| Flutter 3.47.0〜3.47.7 | eMudhraの件が残る | 3.47.9 |
| Flutter 3.41.0以降で3.47.0より前 | サポート外 | 3.47.9 |
| Flutter 3.41.0より前(Dart 3.11.0より前) | サポート外。pubの展開の件も残る | 3.47.9 |
Dartのサーバーやコマンドをdart compile exeで作った場合も、実行環境はバイナリに含まれます。eMudhraの件では、提供元はSDKを上げたうえで、Android・Windows・Linuxのアプリやバイナリを作り直して配るよう案内しています。[2]
03pubの依存関係の脆弱性を確かめる方法
pubは、GitHub Advisory Databaseに登録されたDart・Flutterのパッケージのアドバイザリを使い、依存を解決するときに表示します。[11] pubspec.lockの版を確かめ、対象のパッケージを上げます。
dart pub get
dart pub deps
dart pub outdated
dart pub upgrade dio_http2_adapterFlutterのプロジェクトではdart pubをflutter pubに読み替えます。dart pub outdatedは、pubspec.yamlの範囲で上げられる版と最新の版を並べるコマンドで、アドバイザリの有無は表示しません。[12]
対象外と判断したアドバイザリは、pubspec.yamlのignored_advisoriesに番号を書くと警告を止められます。効くのは自分のパッケージ(ルート)の設定だけです。[11]
CIでは、OSV-Scannerでpubspec.lockを調べられます。[13] GitHubのDependabotも、pubのセキュリティ更新に対応しています。[14]
osv-scanner scan -L pubspec.lock04Dart・Flutterの脆弱性の確認の進め方
- SDKの版をビルド環境で確かめる:CIの記録で
flutter --version・dart --versionを見ます。SDKの版を固定している設定ファイルやDockerのイメージがあれば、そこも3.47.9・3.13.7に上げます。 - 配ったアプリは作り直す:SDKの修正は、ビルドし直したアプリにしか入りません。eMudhraの件はAndroid・Windows・Linuxが対象で、iOS・macOS・WebはOSやブラウザの証明書の検証を使うため対象外です。[2]
- 動いているサーバーの版:Dartのサーバーでは、
dart:ioのPlatform.versionをログに出すと、動いている実行環境の版が分かります。 - Linuxの証明書の一覧:Linuxで動かす場合、提供元はOSの
ca-certificatesを更新していない環境やコンテナが対象になると説明しています。SDKの更新と合わせて、イメージのca-certificatesも更新します。[2] - 間接的な依存:
dart pub depsで、dio_http2_adapterやjoseをどの依存が引き込んでいるかを確かめ、pubspec.lockの差分を見ます。
よくある質問
iOSのアプリだけなら、eMudhraの件は関係ありませんか?
提供元のアドバイザリでは、iOS・macOS・WebはAppleやブラウザの証明書の検証を使うため対象外です。同じコードからAndroid・Windows・Linuxのアプリも作っている場合は、Flutter 3.47.8以上で作り直して配ります。
dart pub getで警告が出なければ、対応は不要ですか?
pubが表示するのは、GitHub Advisory Databaseに登録されたパッケージのアドバイザリです。Dart SDKの実行環境や、Flutterのエンジンが組み込むSkia・libpngの問題は表示されないため、SDKの版も上の表で確かめます。
Flutterを3.47.9に上げれば、dio_http2_adapterの脆弱性も直りますか?
直りません。pubのパッケージは別に上げます。dart pub upgrade dio_http2_adapterでpubspec.lockの版を2.8.0以上にし、作り直して配ります。
出典・参考資料
- CISA:Known Exploited Vulnerabilities Catalog2026-10-30版 / Dart・Flutterを提供元とする項目がないこと、SkiaのCVE-2026-3909の追加日と説明
- Dart SDK:GHSA-frr6-h895-5pxp(eMudhraの中間証明書)2026-10-24 / 対象のプラットフォーム・版、修正版、作り直しの案内、Linuxの条件
- Flutter:CHANGELOG2026-11-02確認 / 3.47.8のセキュリティの修正、3.47.2のlibpng、CVE-2026-3909の記載がないこと
- GitHub Advisory Database:GHSA-cr65-55v9-xhvv(dio_http2_adapter)2026-10-16 / dio_http2_adapterの対象・条件・修正版・CVSS
- GitHub Advisory Database:GHSA-vm9r-h74p-hg97(jose)2026-04-01 / joseの対象・修正版・CVSS
- Dart SDK:GHSA-q739-79rh-vmvp(CVE-2026-27704)2026-02-24 / pubの展開の問題と修正版
- Dart:Security最新の安定版にセキュリティの更新を出すこと
- Flutter:SecuritystableのFlutterにセキュリティの更新を出すこと
- Dart:SDK archive(stable 3.13.7)2026-10-22 / Dartの最新の安定版
- Flutter:SDK archive(stable 3.47.9)2026-10-30 / Flutterの最新の安定版と含まれるDartの版
- Dart:Security advisories(pub)pubがGitHub Advisory Databaseを使い、依存の解決時に表示すること、ignored_advisories
- Dart:dart pub outdateddart pub outdatedが表示する列
- OSV-Scanner:Supported languages and lockfiles2026-11-02確認 / pubspec.lockに対応していること
- GitHub Docs:Dependabot supported ecosystems and repositoriespubのセキュリティ更新に対応していること
