Apache Tomcatの脆弱性8件(10月20日公表)、応答の取り違えや認証回避のおそれ。使い方ごとの対象と修正版

公開 2026-11-01公表 2026-10-20更新 2026-11-01資料確認 2026-11-01Java / JVMの脆弱性 53件のまとめ
対象製品Apache Tomcat
識別番号CVE-2026-101356
影響範囲11.0.26・10.1.60・9.0.122以前(件ごとに範囲と使い方の条件あり)
修正情報11.0.27・10.1.61・9.0.123

Javaで書いたWebアプリを動かすApache Tomcatで、8件の脆弱性が2026年10月20日にApache Software Foundation(ASF)から公表されました。HTTP/2で利用者の間の要求・応答が取り違えられるもの、LDAPを使う認証で正しいパスワードなしに認証できるものなどで、HTTP/2・JNDIRealm・AJPを使っているかで該当が分かれます。修正は10月12日に公開された11.0.27・10.1.61・9.0.123に入っています。

2026-11-01更新:一次情報(ASFのセキュリティ告知とメーリングリスト、CVEの記録、KEV、Maven Central、Spring Bootの文書)と照合して公開しました。

この記事の要点
  • ASFの重要度で「Important」は3件です。HTTP/2と非同期サーブレットでの取り違え(CVE-2026-101356)、JNDIRealmの認証回避(CVE-2026-101296)、11系のAJPでの取り違え(CVE-2026-103119)です。
  • 修正版は系列ごとに11.0.27・10.1.61・9.0.123で、必要なJavaの版は同じ系列の中で変わりません。ASFの告知に、更新以外の回避策はありません。
  • Spring Bootは4.0.9・4.1.2が11.0.27を使います。9.0系は2027年3月31日でサポートが終わり、その後は9.1系へ移ります。

01Tomcatの脆弱性8件で起きることと深刻度

ASFのセキュリティ告知は、8件のうち3件を「Important」、5件を「Low」としています。ASFはCVSSを付けていません。CVEの記録では、米CISAが補足としてCVSSを付けていて、Importantの3件はいずれも9.1です(CVE-2026-101296はCVSS 4.0、他の2件はCVSS 3.1)。[1][2][3][4][5]

どの件も、該当するかは使っている機能で決まります。件ごとの内容と、該当する使い方は次のとおりです。範囲は告知の記載で、系列によって対象外のものがあります。[1][2][3]

CVE(ASFの重要度)起きること該当する使い方・系列
CVE-2026-101356(Important)利用者の間で要求・応答が取り違えられるHTTP/2と非同期サーブレット。11.0.22〜、10.1.55〜、9.0.118〜
CVE-2026-101296(Important)正しいパスワードなしで認証できるJNDIRealmをGSSAPI以外のSASLで設定。全系列
CVE-2026-103119(Important)応答が次の要求に混ざり、内容が漏れるおそれ11系のAJP(11.0.0-M25〜)
CVE-2026-88041(Low)前の要求のトレーラーが次の要求に混ざるHTTP/2
CVE-2026-93446(Low)TLS 1.3の接続がときどき失敗するTLS 1.3
CVE-2026-74048(Low)FIPSモードの有効化に失敗しても起動するOpenSSLLifecycleListenerでFIPSモードを指定
CVE-2026-74049(Low)リダイレクト後もページの処理が続くJSPでJSTLの<c:redirect>
CVE-2026-80353(Low)ローカルの利用者がUnixドメインソケットに接続できる9.0系のAPR/Nativeコネクタ

HTTP/2・JNDIRealm・AJPのどれを使うかで、起きることが分かれる

ASFがImportantとした3件を並べる。

入口HTTP/2の要求非同期サーブレットと組み合わせた構成
入口LDAPを使うログインJNDIRealmをGSSAPI以外のSASLで設定
入口AJPの要求11系のAJPコネクタ
Tomcatが受け取る

Apache Tomcat 11.0.26・10.1.60・9.0.122以前

CVE-2026-10135611.0.22〜、10.1.55〜、9.0.118〜
CVE-2026-101296全系列
CVE-2026-10311911.0.0-M25〜
起きること
要求・応答の取り違え利用者の間で入れ替わる
パスワードなしの認証正しいパスワードなしで認証できる
内容の漏えい応答が次の要求に混ざる

出典 Apache Tomcat「Apache Tomcat 11.x・10.x・9.x vulnerabilities」(2026-10-20)

02TomcatでHTTP/2・JNDIRealm・AJPを使っているかの確かめ方

単体のTomcatでは、HTTP/2はコネクタの中にHttp2Protocolを書いたときに有効になります。配布物のserver.xmlでは、HTTP/2を使う例とAJPのコネクタはどちらもコメントになっています。[6][7]

Spring Bootの組み込みTomcatでは、HTTP/2はserver.http2.enabledで有効にし、初期値は無効です。[8]

CVE-2026-101356は版の範囲が新しく、たとえば9.0系では9.0.118〜9.0.122だけが対象です。古い版はこの件の対象外でも、JNDIRealmの件(CVE-2026-101296)は全系列が対象です。この件はauthentication属性にGSSAPI以外のSASLの方式を指定している場合が該当します。[1][9]

03悪用の状況

2026年11月1日時点で、米国のCISAが公開している「悪用が確認された脆弱性の一覧(KEV)」には載っていません。

PoCの公開は、ASFの告知とCVEの記録では確認できていません。CVEの記録のCISAの評価(SSVC)では、8件とも悪用は「none」です。

修正版は公表より前の10月12日に出ていて、KEVには載っていない

2026年10月12日

ASFが修正版を公開11.0.27・10.1.61・9.0.123。Maven Centralにも置かれた

10月20日

ASFが8件の脆弱性を公表3件をImportant、5件をLowとした
9.1CISAのCVSS(Importantの3件)

10月22日

Spring Boot 4.0.9・4.1.2を公開組み込みのTomcatに11.0.27を使う

11月1日

KEVには載っていないCVEの記録のCISAの評価(SSVC)でも、8件とも悪用は「none」

2027年3月31日

9.0系のサポート終了同じ時期に9.1系の公開が始まる

出典 Apache Tomcat「Apache Tomcat 11.x・10.x・9.x vulnerabilities」(2026-10-20)、米CISA「Known Exploited Vulnerabilities Catalog」(2026-10-30版)、Apache Tomcat「End of support for Apache Tomcat 9.0.x」(2026-02-11)

04Tomcatの系列ごとの修正版とサポート終了の版

修正版は10月12日にASFから公開され、Maven Centralにも置かれています。脆弱性の公表(10月20日)より前に出ているので、すでに11.0.27・10.1.61・9.0.123以降に上げていれば、8件の修正は入っています。必要なJavaの版は系列ごとに決まっていて、同じ系列の中の更新では変わりません。[10][11]

系列修正版必要なJava
11.011.0.2717以上
10.110.1.6111以上
9.09.0.1238以上
8.5・7.0なし(サポート終了)―

CVEの記録は、サポートが終わった8.5系・7.0系も、JNDIRealmの件とJSTLの件の対象だとしています。修正版は出ないので、サポート中の系列へ移ります。[4]

修正版は11.0.27・10.1.61・9.0.123で、8.5系・7.0系には出ない

11.0系
修正版11.0.27
必要なJava17以上
HTTP/2の件の範囲11.0.22〜11.0.26
補足Spring Boot 4.0.9・4.1.2が使う版
10.1系
修正版10.1.61
必要なJava11以上
HTTP/2の件の範囲10.1.55〜10.1.60
補足Spring Boot 3.5.16は10.1.55のまま
9.0系
修正版9.0.123
必要なJava8以上
HTTP/2の件の範囲9.0.118〜9.0.122
補足2027年3月31日でサポート終了
だから サポートが終わった8.5系・7.0系は、サポート中の系列へ移る。

出典 Apache Tomcat「Which Version Do I Want?」(2026-11-01確認)、Apache Tomcat「Apache Tomcat 11.x・10.x・9.x vulnerabilities」(2026-10-20)、Maven Central「spring-boot-dependencies 4.0.9・4.1.2・3.5.16」(2026-10-22)

05Tomcatの版と設定を確認・更新する手順

  1. 単体のTomcatは、版を表示して系列と番号を確かめます(Windowsではversion.bat)。

    ターミナル
    $CATALINA_HOME/bin/version.sh
  2. アプリに組み込んだTomcat(Spring Bootなど)は、依存関係から版を確かめます。Gradleでは./gradlew dependencyInsight --dependency tomcat-embed-coreです。

    ターミナル
    mvn dependency:tree -Dincludes=org.apache.tomcat.embed
  3. server.xmlで、HTTP/2・AJP・JNDIRealm・Unixドメインソケット・FIPSモードの設定があるかを確かめます。コメントの中の行も表示されるので、有効な設定かを見分けます。

    ターミナル
    grep -n -E "Http2Protocol|AJP/1.3|JNDIRealm|unixDomainSocketPath|FIPSMode" $CATALINA_BASE/conf/server.xml
  4. Spring Bootでは、HTTP/2を有効にしているかを設定ファイルで確かめます。

    ターミナル
    grep -rn "server.http2.enabled" src/main/resources/
  5. Spring Bootの3.5系で、すぐに4系へ上げられない場合は、組み込みTomcatの版を指定します。指定後はテストで動作を確かめます。

    pom.xml
    <properties>
      <tomcat.version>10.1.61</tomcat.version>
    </properties>
  6. 更新して再起動したあと、もう一度版を確かめます。

    ターミナル
    $CATALINA_HOME/bin/version.sh

06すぐ上げられないとき

ASFの告知に、更新以外の回避策はありません。表の使い方に当てはまらなければその件の経路から外れますが、これは当社の整理で、ASFが示した回避策ではありません。JNDIRealmの件は認証に関わるので、該当する設定がある場合は更新を先にします。[5]

07Spring Bootの組み込みTomcatの版

Spring Bootは、使うTomcatの版を依存関係の一覧(spring-boot-dependencies)のtomcat.versionで決めています。Maven Centralの記載では、10月22日に公開された4.0.9と4.1.2が11.0.27を使います。[12]

3.5系の最後の公開版3.5.16は10.1.55を使っていて、CVE-2026-101356とCVE-2026-101296の範囲に入ります。3.5系の無償サポートは2026年6月30日に終わっています。4系へ上げられない間は、tomcat.versionで10.1.61を指定できますが、Spring Bootの文書は、版を上書きすると互換性の問題が起きることがあると注意しています。[12][13][14]

089.0系のサポート終了と9.1系への移行

ASFは、9.0系のサポートを2027年3月31日で終えると告知しています。その後は脆弱性の報告が9.0系に照らして確かめられなくなります。最後の9.0系の公開は3月31日の少し前の予定です。[15]

同じ時期に9.1系の公開が始まり、2030年12月31日まで続きます。9.0系との違いは小さく、HTTP・HTTPS・AJPのAPR/Nativeコネクタが無くなる点です。APR/Nativeコネクタを使っている場合は、NIOのコネクタへの移行が勧められています。CVE-2026-80353はこのAPR/Nativeコネクタの件です。[3][15]

脆弱性の公表・更新一覧で、Java / JVMの関連情報を調べることもできます。

緊急の場合AI攻撃リスク即点検サービス公開情報と、契約後すぐに用意できるアクセスの記録から先に調べ、被害や狙われやすい構成がないかを早く確かめます。

よくある質問

CVSSが9.1なのに、ASFは「Important」なのはなぜですか?

評価者が違います。9.1は米CISAがCVEの記録に補足として付けた値で、ASFは独自の4段階の重要度を使っています。どちらも、成立の条件に当てはまるかを読んで判断します。[4][5]

9.0.110を使っています。対象ですか?

CVE-2026-101356の範囲(9.0.118〜9.0.122)には入りません。ただしJNDIRealmの件(9.0.0.M1〜9.0.122)などの範囲には入るので、9.0.123に上げます。[3]

悪用は確認されていますか?

8件とも、10月30日版のKEVには載っていません。CVEの記録のCISAの評価でも、悪用は「none」です。過去のTomcatの脆弱性では、CVE-2025-24813とCVE-2026-34486がKEVに載っています。[4][16]

LinuxのOSのパッケージで入れたTomcatはどうしますか?

OSの配布元は修正を元の番号のまま取り込むことがあります。番号の頭だけで判断せず、配布元の告知に書かれたパッケージの版と照らし合わせます。

出典・参考資料

  1. Apache Tomcat公式:Apache Tomcat 11.x vulnerabilities2026-10-20 / 11系の7件の内容、重要度、範囲、報告日・公表日
  2. Apache Tomcat公式:Apache Tomcat 10.x vulnerabilities2026-10-20 / 10.1系の6件の内容、重要度、範囲
  3. Apache Tomcat公式:Apache Tomcat 9.x vulnerabilities2026-10-20 / 9.0系の7件の内容、重要度、範囲(CVE-2026-80353を含む)
  4. CVEの記録:CVE-2026-101296(採番機関Apache)2026-10-20 / 8.5系・7.0系への影響、CISAのCVSS 4.0 9.1とSSVC(悪用none)。他の7件の記録も同じ形
  5. ASF:[SECURITY] CVE-2026-101356 Apache Tomcat2026-10-20 / 重要度Important、対象、更新だけを示した対処
  6. Apache Tomcat公式:The HTTP2 Upgrade Protocol2026-11-01確認 / HTTP/2をコネクタのUpgradeProtocolで有効にすること
  7. Apache Tomcat:11.0.27の配布物のserver.xml2026-11-01確認 / HTTP/2の例とAJPのコネクタが初期状態でコメントであること
  8. Spring Boot公式:Common Application Properties2026-11-01確認 / server.http2.enabledの初期値がfalse
  9. Apache Tomcat公式:The Realm Component(JNDIRealm)2026-11-01確認 / authentication属性の指定方法
  10. Apache Tomcat公式:Which Version Do I Want?2026-11-01確認 / 系列ごとの最新版と必要なJava、サポート終了の系列
  11. Maven Central:tomcat-embed-core2026-11-01確認 / 11.0.27・10.1.61・9.0.123の公開
  12. Maven Central:spring-boot-dependencies 4.0.9・4.1.2・3.5.162026-10-22(4.0.9・4.1.2) / 各版のtomcat.version(11.0.27・11.0.27・10.1.55)
  13. Spring:Spring Bootのサポート期間(api.spring.io)2026-11-01確認 / 3.5系の無償サポート終了日(2026-06-30)
  14. Spring Boot公式:Using the Plugin(依存の版の上書き)2026-11-01確認 / プロパティで依存の版を上書きする方法(Gradleは同じく managing-dependencies に互換性の注意)
  15. Apache Tomcat公式:End of support for Apache Tomcat 9.0.x2026-02-11 / 9.0系のサポート終了日、9.1系の期間と違い、APR/Nativeコネクタの移行
  16. 米CISA:Known Exploited Vulnerabilities Catalog(Apache Tomcat)2026-10-30版 / 8件の掲載が無いこと、CVE-2025-24813・CVE-2026-34486の掲載

あわせて読みたい記事

Java / JVM公表 2026-10-04

snappy-javaの脆弱性CVE-2026-93451、型付き配列への展開でヒープ破壊のおそれ。Kafka・Sparkの下で古い版が残る場合の確かめ方

Java向けの圧縮ライブラリsnappy-javaの脆弱性CVE-2026-93451(GHSA-gwq9-9ffj-mvrv)は、uncompressIntArrayなどで配列の末尾を越えて書き込みます。上げる先は1.1.10.10以上です。Kafka・Spark・Hadoopが古い版を指定している場合の確かめ方と、版の指定の仕方を説明します。

PHP公表 2026-10-26

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などへの入れ替えと確かめ方を説明します。

Python公表 2026-10-22

Brotliの脆弱性の確認方法、PythonとNode.jsで対象かを確かめて直す(CVE-2026-111497、コード実行のおそれ)

圧縮形式Brotliの展開処理の脆弱性CVE-2026-111497(HTTP2Shell)は、米CISAが悪用を確認しています。Pythonのbrotli・brotlicffi、Node.jsの同梱版などで、自分の版と構成が対象かを確かめる方法と修正版を、言語ごとに説明します。