---
title: "Laravel の TokenGuard で、細工した非文字列のトークンにより認証を回避できる（CVE-2026-114509）: 12.68.0・13.29.0 で修正"
url: https://n-t-p.io/worldsecurity/articles/laravel-tokenguard-non-string-api-token-auth-bypass-2026-114509
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 緊急
cve: CVE-2026-114509
---

# Laravel の TokenGuard で、細工した非文字列のトークンにより認証を回避できる（CVE-2026-114509）: 12.68.0・13.29.0 で修正

> **TL;DR:** Laravel の TokenGuard（12.68.0 未満、13.0.0〜13.29.0 未満）に、細工した非文字列のトークンで MySQL・MariaDB 構成の認証を回避し得る不具合（CVE-2026-114509、GitHub は Critical、NVD 掲載の GitHub 提供 CVSS v4.0 は 9.2、CWE-287）。修正版は 12.68.0・13.29.0。KEV 掲載なし、EPSS 0.78%。

**要点**
- Laravel の標準トークン認証 TokenGuard が非文字列の認証情報を弾かず、MySQL・MariaDB 構成で意図しないユーザーに一致し得る（GitHub: Critical、GitHub 提供の CVSS v4.0 は 9.2）
- 認証なしの攻撃者が相手の API トークンを知らずにアカウントを乗っ取り得る（TokenGuard で守られたルート）
- 修正版は 12.68.0 と 13.29.0。修正は user() と validate() にトークンが文字列かの確認を足す内容
- 修正版の Packagist 公開（8/25）は勧告公開（10/23）より前で、経緯は未確認
- NVD は Awaiting Analysis で評価未確認。KEV 掲載なし、EPSS 0.78%（10/30）

PHP のフレームワーク Laravel の `TokenGuard` に、認証回避の勧告 CVE-2026-114509 が公開されました（GitHub Advisory は 10/23 公開）。GitHub Advisory の深刻度は Critical、CWE-287・CWE-1287 です。GitHub は CVSS の数値を付けていませんが、NVD には GitHub 提供の CVSS v4.0 9.2（Critical）が載っています。対象は 12.68.0 未満と、13.0.0 以上 13.29.0 未満で、修正版は 12.68.0 と 13.29.0 です。CISA の KEV には載っていません。EPSS は 0.78%（FIRST、10/30 時点）です。

## 何が起きるか

- `TokenGuard` は、リクエストの API トークンでユーザーを引き当てる、Laravel 標準のトークン認証ガードです。
- 勧告によると、このガードは、細工された「文字列ではない」認証情報（たとえば配列）を弾かずにそのままユーザー検索へ渡します。MySQL または MariaDB の構成では、この検索が意図しない既存ユーザーに一致し得ます。
- その結果、認証されていない攻撃者が、相手の API トークンを知らなくても、そのユーザーとして認証され、`TokenGuard` で守られたルートでアカウントを乗っ取れる、とされています。
- 修正コミットを確認しました。`user()` と `validate()` に「トークンが文字列であること」の確認（`is_string`）を加え、配列の `api_token` を渡してもユーザー検索へ進まないことを確かめるテストを足す内容です。

## 影響を受ける版と修正

- 対象は 12.x 系の 12.68.0 未満と、13.x 系の 13.0.0 以上 13.29.0 未満です。修正版は 12.68.0 と 13.29.0 です。
- Packagist の記録では、12.68.0 は 2026-08-25（UTC）、13.29.0 も 2026-08-25（UTC）に公開されています。勧告の公開（10/23）より前に修正版が出ていた形です。この間の経緯は確認できていません。

## 悪用の条件

- `TokenGuard`（`api` ガードなどの標準のトークン方式）を使っている。Sanctum や Passport など別の仕組みを使うだけでは、勧告の対象に当たるかは確認していません。
- データベースが MySQL または MariaDB である（勧告が挙げる条件）。
- 認証されていない攻撃者が、`TokenGuard` で守られたルートにリクエストを送れる。

## 対応

1. Laravel を 12.68.0 以上（12.x 系）または 13.29.0 以上（13.x 系）に更新します。
2. `config/auth.php` の `guards` を見て、`driver` が `token` のガードがあるかを確かめます。該当するルートは優先して更新します。
3. 更新できない間は、該当ルートで API トークンの入力が文字列であることを確かめる処理を、認証の前段（ミドルウェアなど）に入れることが考えられます。ただし、これは本記事の推定であり、勧告が示す回避策ではありません。
4. 心当たりのないトークン認証のアクセスがないか、ログを確認します。

## 未確認の点

- NVD は 10/21 に登録され、状態は Awaiting Analysis です。NVD 自身の評価は未確認で、上の CVSS v4.0 は GitHub 提供の値です。
- 悪用の報告は見つかっていません（KEV 掲載なし）。EPSS は低めですが、今後変わり得ます。
- 実際の環境での再現は確認していません。記載は勧告、修正コミット、公開情報に基づきます。


## 出典
- [GitHub Advisory GHSA-f9x3-7vq9-cph6（CVE-2026-114509）](https://github.com/advisories/GHSA-f9x3-7vq9-cph6) — GitHub
- [修正コミット 8dbb08b](https://github.com/laravel/framework/commit/8dbb08bccac1be095dba4a9d259a419620f1e8a5) — GitHub
- [修正コミット 9b21ce0](https://github.com/laravel/framework/commit/9b21ce0a9bb2b2599978bc0b0df4abea952ad31c) — GitHub
- [Laravel v13.29.0 リリース](https://github.com/laravel/framework/releases/tag/v13.29.0) — GitHub
- [Laravel v12.68.0 リリース](https://github.com/laravel/framework/releases/tag/v12.68.0) — GitHub
- [Packagist laravel/framework](https://packagist.org/packages/laravel/framework) — Packagist
- [NVD CVE-2026-114509](https://nvd.nist.gov/vuln/detail/CVE-2026-114509) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-114509) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/laravel-tokenguard-non-string-api-token-auth-bypass-2026-114509