GitHubの脆弱性情報に、SentryのJS SDKでNext.jsのミドルウェアを回避できる問題が掲載されています。識別番号はCVE-2026-114139で、特定の設定と実装が重なるアプリでは、アクセス権の確認を通らずにリクエストが届く恐れがあります。掲載日は資料に記載されていませんが、修正版と回避策が示されています。
Sentryへの転送対象より広い範囲で処理を省略
問題に関係するのは、SentryのJS SDKという開発用ライブラリの「tunnelRoute」設定です。広告ブロッカーへの対策として、イベントを自前のサーバー経由でSentryに送るために使います。
本来、Sentryへ転送するのは、トンネルパスそのものに届き、oとpのパラメーターを持つリクエストに限られます。しかし、SDKがミドルウェアを省略する範囲は、それよりも広くなっていました。ミドルウェアとは、アプリの処理に入る前などに実行する共通処理です。
このため、トンネルパス配下にある転送対象外のリクエストも、ミドルウェアを通らずアプリに届きます。その場所でアプリのルートが処理され、アクセス権の確認である「認可」をミドルウェアだけに任せていると、保護が抜ける恐れがあります。
ただし、回避しただけでリクエストに権限が与えられるわけではありません。GitHubの情報では、サーバー側でセッションを確認するルートは引き続き保護されます。Sentry自体のサービスと組織内データにも影響しないとしています。
修正版と、更新までの回避策
修正版は9.47.2、10.75.2、11.0.0-rc.1です。11.0.0-rc.1はリリース候補版の表記です。修正版では、ミドルウェアを省略する対象を実際の転送対象に限定しており、修正に伴う設定変更は不要とされています。
すぐに更新できない場合は、tunnelRouteをアプリのルートと競合しないパスに変えるか、設定を削除する回避策があります。Turbopackによるビルドも影響を受けず、回避策として挙げられています。ルート、レイアウト、データアクセス処理でも認可を行う方法も示されています。
日本での提供は発表には書かれていません。地域別の影響範囲も記載されていないため、国内の利用についても、まずは以下の技術条件で対象を確認する必要があります。
影響する会社・しない会社
- 影響する: SentryのJS SDKを使うNext.jsアプリで、①tunnelRouteが文字列のパスまたはtrue、②webpackでビルド、③トンネルパス配下でアプリのルートが解決される、④そのルートの認可がミドルウェアだけ、という4条件を全て満たす会社です。
- 影響する: ルート直下に動的セグメントがあるアプリも確認対象です。パスの一部が変わるルートがトンネルパスと競合する場合があり、固定のパスだけを見て対象外とは判断できません。
- 影響しない: Turbopackでビルドするアプリは、この問題の影響を受けないとされています。また、列挙された4条件が全てそろわないアプリは、今回示された影響条件には該当しません。
- 影響しない: Sentry自体のサービスと組織内データは対象外です。Sentryを契約しているという理由だけで、組織内データへの被害を想定する必要はありません。