CVE-2018-1270(Spring Framework)— 影響版・修正版と自分が該当するかの確認手順

CVE-2018-1270 は Spring Framework の spring-messaging モジュールに関する脆弱性です。調べていて混乱しやすいのが「修正版は 4.3.15 なのか 4.3.16 なのか」という点で、NVD の説明文とベンダーのアドバイザリで記載が食い違っています。本記事では一次情報を突き合わせ、影響版・修正版と、自分の環境が該当するかの確認手順を整理します。

確認日:2026年8月4日。 本記事の数値・版番号は、この日に NVD と Spring 公式アドバイザリを直接参照して確認したものです。脆弱性情報は更新されるため、対応判断の前に必ず原典(記事末尾にURLを掲載)をご自身で確認してください。本記事に攻撃手順や実証コードは含みません。

要点

CVE IDCVE-2018-1270
対象Spring Framework の spring-messaging モジュール
影響を受ける版(ベンダー)5.0.0 〜 5.0.4 / 4.3.15 およびそれ以前
修正版(ベンダー)5.0.5 / 4.3.16
CVSS v3.1(NVD)9.8 CRITICAL(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v2(NVD)7.5 HIGH(AV:N/AC:L/Au:N/C:P/I:P/A:P
CWE(NVD)CWE-94(コードインジェクション)/ CWE-358
CISA KEV 収載されていない(2026年8月3日版カタログで確認)
公開日 / 最終更新(NVD)2018年4月6日 / 2026年6月17日(vulnStatus: Modified)

どんな脆弱性か

Spring 公式アドバイザリの記述は次のとおりです(原文)。

Spring Framework, versions 5.0.x prior to 5.0.5 and versions 4.3.x prior to 4.3.16, and older unsupported versions allow applications to expose STOMP over WebSocket endpoints with a simple, in-memory STOMP broker through the spring-messaging module. A malicious user (or attacker) can craft a message to the broker that can lead to a remote code execution attack.

要点を日本語で整理すると、spring-messaging モジュールを通じて STOMP over WebSocket のエンドポイントを公開し、かつ外部ブローカーへのリレーではなくインメモリの簡易ブローカーを使っている構成で、ブローカー宛てに細工されたメッセージを送られるとリモートコード実行に至りうる、というものです。

したがって、Spring Framework を使っていること自体が即座に該当を意味するわけではありません。上の構成条件を満たしているかどうかが分かれ目になります。アドバイザリは参考資料として、STOMP over WebSocket を有効化する設定に関する Spring リファレンスと、WebSocket に対する Spring Security のリファレンスの2件を挙げています(URLは記事末尾)。

報告者: アドバイザリには「This issue was identified and responsibly reported by Alvaro Muñoz (@pwntester), Micro Focus Fortify.」と記載されています。

修正版は 4.3.15 ではなく 4.3.16

この CVE で最も間違えやすいのがここです。NVD の説明文には現在も「versions 4.3 prior to 4.3.15」と書かれていますが、これは初出時の記載のままです。Spring 公式アドバイザリの History には次のように記録されています。

つまり、当初案内された 4.3.15 は別の脆弱性(CVE-2018-1275)の関係で撤回され、4.3.16 に差し替えられています。NVD 側も、説明文は古いままですがCPE の適用範囲は「4.3.16 未満が脆弱」となっており、ベンダーの記載と一致します。

4.3 系を使っている場合、4.3.15 に上げても対応完了とはみなせません。4.3.16 以上へ上げてください。

出典4.3系の記載扱い
Spring 公式アドバイザリ(説明文・修正版表)4.3.15 and earlier が影響 / 修正版 4.3.16これに従う
NVD の説明文versions 4.3 prior to 4.3.15初出時のまま。古い
NVD の CPE 適用範囲versionEndExcluding = 4.3.16ベンダーと一致

自分が該当するかを確認する手順

いずれも自分が管理する環境に対して実行する確認だけです。

1. 依存している Spring Framework の版を調べる

アプリケーションが実際に解決している版を、ビルドツールの依存ツリーで確認します。親 POM や BOM で管理していると、宣言した版と解決される版がずれることがあるため、宣言ではなく解決結果を見るのが確実です。

# Maven: 依存ツリーから spring-messaging と spring-core の版を確認
mvn dependency:tree -Dincludes=org.springframework

# Gradle: 実行時クラスパスの解決結果を確認
./gradlew dependencies --configuration runtimeClasspath

配布物しか手元にない場合は、同梱されている JAR のファイル名(spring-messaging-x.y.z.jar)や、JAR 内の META-INF/MANIFEST.MFImplementation-Version でも版を確認できます。

2. 該当する機能を使っているかを確認する

版が範囲内でも、アドバイザリが挙げる構成を使っていなければ露出しません。次の3点を設定とコードから確認します。

3. 認証・認可の有無を確認する

アドバイザリには次の記載があります(原文)。

Note that the use of authentication and authorization for messages, both of which are provided by Spring Security, limits exposure to this vulnerability to authorized users.

メッセージに対する認証と認可(いずれも Spring Security が提供)を使っている場合、露出は認可済みユーザーに限定されるとされています。これは影響範囲を狭める要素ではありますが、アドバイザリはこれを回避策としては提示していません。次項のとおり、対応は修正版への更新です。

ベンダーが示す対応

アドバイザリの Mitigation は簡潔です(原文)。

すなわち5.0.x 系は 5.0.5 へ、4.3.x 系は 4.3.16 へ更新するのが対応であり、それ以外の緩和手順は必要ない、とされています。なお、いずれの修正版もサポート終了から長い年月が経過した系列です。現在も 4.3.x / 5.0.x を使っている場合は、この CVE の対応だけでなく、サポートされている系列への移行そのものを検討する場面といえます。

「悪用が確認されている」かどうか

2026年8月4日に CISA の Known Exploited Vulnerabilities カタログ(カタログ版 2026.08.03、1,657件)を直接検索したところ、CVE-2018-1270 は収載されていませんでした。NVD のレコードにも KEV 関連のフィールドはありません。

混同しやすい点: 同じ2018年の Spring 関連 CVE である CVE-2018-1273(Spring Data Commons)は KEV に収載されています(2022年3月25日追加)。番号が近いため取り違えやすく、「Spring の2018年の CVE は KEV 入りしている」と一括りにすると誤ります。他に KEV 収載されている Spring 関連としては CVE-2022-22965(Spring Framework)、CVE-2022-22947、CVE-2022-22963、CVE-2020-5410 があります。

なお、NVD の参照リンクには Exploit Database のエントリが「Broken Link / Third Party Advisory / VDB Entry」として含まれています。公開された実証コードが過去に存在したことは分かりますが、それは KEV 収載とは別の話です。ベンダーのアドバイザリ自体は悪用に関する主張をしていません。

下流製品にも注意

NVD は、Spring Framework 本体のほかに再配布している製品も脆弱として列挙しています。確認時点では Red Hat Fuse、Debian GNU/Linux 9、および Oracle の多数の製品(Communications 系、Retail 系、Primavera、GoldenGate、Application Testing Suite など)が含まれていました。自社で直接 Spring を使っていなくても、製品に同梱されている形で該当することがあります。ベンダー製品については、そのベンダーのアドバイザリを確認してください。

本記事の出典と確認日

  • 確認日:2026年8月4日
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2018-1270(CVSS・CWE・CPE適用範囲・公開日/最終更新日を確認)
  • Spring 公式アドバイザリ: https://spring.io/security/cve-2018-1270/(説明文・影響版・修正版・Mitigation・History・報告者を確認)
  • CISA Known Exploited Vulnerabilities カタログ: https://www.cisa.gov/known-exploited-vulnerabilities-catalog(収載の有無を確認。カタログ版 2026.08.03)
  • アドバイザリが参照として挙げている Spring のドキュメント: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#websocket-stomp-enable / https://docs.spring.io/spring-security/site/docs/5.0.3.RELEASE/reference/htmlsingle/#websocket

確認できなかった事項は記載していません。攻撃手順・実証コードは扱いません。

よくある質問(FAQ)

CVE-2018-1270 の修正版はどれですか?

Spring 公式アドバイザリでは、5.0.x 系は 5.0.5、4.3.x 系は 4.3.16 が修正版とされています(2026年8月4日確認)。当初案内された 4.3.15 は CVE-2018-1275 の関係で 2018年4月10日に 4.3.16 へ差し替えられているため、4.3.15 への更新では対応完了になりません。

NVD には 4.3.15 と書かれていますが、どちらが正しいですか?

NVD の説明文は初出時の記載のままで古いものです。NVD の CPE 適用範囲は versionEndExcluding = 4.3.16 となっており、ベンダーのアドバイザリと一致しています。修正版としては 4.3.16 を採用してください(2026年8月4日確認)。

Spring Framework を使っていれば必ず該当しますか?

いいえ。アドバイザリが対象としているのは、spring-messaging モジュールを通じて STOMP over WebSocket のエンドポイントを公開し、かつインメモリの簡易 STOMP ブローカーを使っている構成です。この構成を使っていなければ、この経路での露出はありません。

CVE-2018-1270 は CISA の Known Exploited Vulnerabilities カタログに載っていますか?

2026年8月4日にカタログ(版 2026.08.03、1,657件)を直接検索したところ、CVE-2018-1270 は収載されていませんでした。なお、番号の近い CVE-2018-1273(Spring Data Commons)は 2022年3月25日に KEV へ追加されているため、取り違えに注意してください。

← 技術ブログ一覧へ戻る