Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-47883 — Spring Framework UrlHandlerFilter のオープンリダイレクト (CVE-2026-47883) の最小限の概念実証 (PoC)。細工された二重スラッシュリクエストが、攻撃者が制御する Location ヘッダーを生成することを実証します。 | Kitploit
ツール/GitHubGitHub/daehyuh/cve-2026-47883
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ
GitHubdaehyuh/cve-2026-47883

CVE-2026-47883

Spring Framework UrlHandlerFilter のオープンリダイレクト (CVE-2026-47883) の最小限の概念実証 (PoC)。細工された二重スラッシュリクエストが、攻撃者が制御する Location ヘッダーを生成することを実証します。

リポジトリを見る
2日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-47883: Spring Framework UrlHandlerFilter Open Redirect PoC

このリポジトリは、Spring公式セキュリティアドバイザリとして公開された CVE-2026-47883 の最小再現PoCです。

  • 公式アドバイザリ: https://spring.io/security/cve-2026-47883/
  • 公式タイトル: Spring Framework Open Redirect in UrlHandlerFilter
  • 深刻度: Medium
  • CVSS v3.1: 5.4 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N)
  • CWE: CWE-601 — URL Redirection to Untrusted Site (Open Redirect)
  • 公開日: 2026-08-20

脆弱性の概要

Spring Frameworkの UrlHandlerFilter を非常に広範なパターンとリダイレクトモードで設定すると、 外部オリジンへ向かう Location ヘッダーが生成され、オープンリダイレクトが発生する可能性があります。 Spring公式アドバイザリは、Spring MVC と Spring WebFlux の両方のフィルター変種を影響範囲として 明記しています。

このPoCのServletパスでは、リダイレクト位置はリクエストURIの末尾スラッシュを除去した後、 レスポンスヘッダーに使用されます。

root@kitploit:~
String location = trimTrailingSlash(request.getRequestURI());
response.setHeader(HttpHeaders.LOCATION, location);

rawリクエストURIが //attacker.example/ の場合、結果は //attacker.example になります。 RFC 3986 §4.2 では //attacker.example は network-path reference であるため、ブラウザはこれを 現在のスキームを維持した外部アドレス(例: https://attacker.example)として解釈できます。

発生条件

このPoCは以下の条件を使用します。

  • 影響を受けるSpring Frameworkのバージョンを使用している。
  • UrlHandlerFilter がリダイレクトモードで登録されている。
  • /** のような非常に広範なパターンが適用されている。
  • 攻撃者が // で始まるrawリクエストターゲットをサーバーまで届けることができる。
root@kitploit:~
UrlHandlerFilter.trailingSlashHandler("/**")
    .redirect(HttpStatus.PERMANENT_REDIRECT)
    .build();

影響範囲

公式アドバイザリ基準の影響アーティファクト:

  • org.springframework:spring-webmvc
  • org.springframework:spring-webflux

影響バージョン:

  • Spring Framework 7.0.0 - 7.0.8
  • Spring Framework 6.2.0 - 6.2.19

修正バージョン:

修正バージョン提供範囲
7.0.9OSS
7.0.8.1Enterprise Support Only
6.2.20Enterprise Support Only

このPoCが示すもの

UrlHandlerFilterBootServletIntegrationTest (主要な再現)

実際のSpring Boot + embedded Tomcatアプリケーションを起動し、次のフィルターを登録します。

root@kitploit:~
UrlHandlerFilter.trailingSlashHandler("/**")
    .redirect(HttpStatus.PERMANENT_REDIRECT)
    .build();

HTTPクライアントが // パスを事前に正規化できないよう、raw TCPソケットでリクエストを送信します。

  1. embeddedServletContainerEmitsNetworkPathReferenceForDoubleSlashPath
    • GET //attacker.example/ HTTP/1.1 を送信します。
    • 308 Permanent Redirect と Location: //attacker.example を確認します。
    • ブラウザで外部オリジンとして解釈され得る脆弱な動作を実証します。
  2. embeddedServletContainerKeepsExpectedSameOriginRelativeLocationForOrdinaryPath
    • 正常な対照群として GET /account/ HTTP/1.1 を送信します。
    • Location: /account が維持されることを確認します。

UrlHandlerFilterOpenRedirectTest (補助テスト)

ServletフィルターAPIをモックオブジェクトで直接検証し、正常なパスの対照群を確認します。

Reactive補助テストでは、MockServerHttpRequest で作成した特定のURIが /attacker.example に正規化される動作を確認します。ただし、これはraw WebFlux request-targetのエンドツーエンドの再現ではなく、WebFluxが影響を受けないという意味ではありません。Spring公式アドバイザリの影響範囲はSpring MVCとSpring WebFluxの両方です。

実行方法

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

脆弱バージョンでの期待される結果:

root@kitploit:~
UrlHandlerFilterBootServletIntegrationTest: Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
UrlHandlerFilterOpenRedirectTest: Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

テストの成功は「脆弱な動作が再現された」ことを意味します。主要な統合テストでは、細工されたrawリクエストが外部オリジンとして解釈され得る Location 値を生成し、正常なリクエストはsame-originの相対パスを維持します。

使用した依存関係

このリポジトリは以下の組み合わせを使用します。

root@kitploit:~
Spring Boot 3.5.14
Spring Framework 6.2.18
Apache Tomcat 10.1.54
Java 17+

Spring BootとTomcatはPoCの実行環境であり、公式の影響製品はSpring Frameworkです。PoCで使用したSpring Framework 6.2.18 は、公式の影響範囲である 6.2.0 - 6.2.19 に含まれます。

なぜ危険なのか

攻撃者は、ユーザーが信頼するアプリケーションのURLを利用して、外部サイトへ移動するよう誘導できます。これはフィッシング、信頼関係の悪用、その後の資格情報窃取のシナリオに使用される可能性があります。

公式CVSSベクターは事前権限を必要としませんが、ユーザーの操作が必要であり、機密性と完全性への影響をLow、可用性への影響をNoneと評価しています。

緩和方法

Spring公式の勧告に従い、利用中のサポートチャネルに該当する修正バージョンにアップグレードする必要があります。公式アドバイザリは、アップグレード後に追加の緩和策は不要と明記しています。

Credit

Spring公式アドバイザリには次のように記載されています。

  • Daehyun Kang (@daehyuh)

参考リンク

  • Spring公式アドバイザリ: https://spring.io/security/cve-2026-47883/
  • CWE-601: https://cwe.mitre.org/data/definitions/601.html
  • RFC 3986 §4.2: https://www.rfc-editor.org/rfc/rfc3986#section-4.2
  • CVSS v3.1 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N&version=3.1
ツールをダウンロード