---
title: "Laravel TokenGuard Auth-Bypass (GHSA-f9x3): betroffen?"
description: "Laravels Token-Guard ließ Angreifer unter MySQL und MariaDB als beliebiger Nutzer einloggen. Behoben in 12.68.0 und 13.29.0. So prüfen und patchen Sie."
source: "https://wardio.net/de/guides/laravel-tokenguard-auth-bypass/"
---

**Patching**

# Laravel TokenGuard Auth-Bypass: GHSA-f9x3-7vq9-cph6

Ein kritisches Laravel-Advisory mit öffentlichem Proof of Concept, aber nur manche Apps sind betroffen. Drei Prüfungen zeigen, ob Ihre dazugehört.

Von David Kabel · Aktualisiert 2026-10-22 · 4 Min. Lesezeit

**Kurz gesagt**

Ihre App ist betroffen, wenn sie laravel/framework unter 12.68.0 bzw. 13.29.0 nutzt, einen Guard mit dem einfachen `token`\-Treiber hat und die Nutzer in MySQL oder MariaDB speichert. Ein Angreifer kann sich dann ohne das API-Token als bestehender Nutzer anmelden. Führen Sie `composer update laravel/framework` aus. Die Fixes liegen seit 25. August 2026 auf Packagist. Wer seitdem aktualisiert hat, ist bereits geschützt.

## Was schiefging

Der `TokenGuard` von Laravel schützt Routen hinter dem `token`\-Treiber, meist `auth:api`. Vor dem Fix prüfte er nur, dass das übergebene Token nicht leer war, bevor er es an die Nutzerabfrage weitergab. Laut Advisory wird unter MySQL und MariaDB ein präparierter Wert, der kein String ist, dann falsch behandelt, und die Abfrage trifft einen unbeabsichtigten Nutzer, statt fehlzuschlagen. Der Fix weist Arrays und andere Nicht-Strings vor jeder Abfrage ab.

Laravel veröffentlichte das Advisory am 19. Oktober 2026 mit CVSS 9.2 und ohne CVE-Nummer. Hakai Security veröffentlichte einen Tag später eine Analyse und einen funktionierenden Proof of Concept.

## Drei Prüfungen

```
# 1. Welche Framework-Version ist installiert?
composer show laravel/framework | grep versions

# 2. Nutzt ein Guard den einfachen token-Treiber?
grep -n "'driver' => 'token'" config/auth.php

# 3. Liegt die users-Tabelle in MySQL oder MariaDB?
grep -E '^DB_CONNECTION=' .env
```

Betroffen sind Sie nur, wenn alle drei zutreffen: eine betroffene Version, ein Guard mit dem `token`\-Treiber und MySQL oder MariaDB. Das Advisory betrifft nur diesen Treiber. Sanctum und Passport registrieren eigene Treiber und werden nicht genannt. Viele Apps haben den alten `api`\-Guard noch in `config/auth.php`, ohne ihn auf einer Route zu nutzen. Existiert der Guard, patchen Sie lieber, als Zeit mit dem Beweis zu verbringen, dass er ungenutzt ist.

## Korrigierte Versionen

| Zweig | Betroffen | Behoben in | Hinweise |
| --- | --- | --- | --- |
| 13.x | Unter 13.29.0 | 13.29.0 | Hakai fand den Fix bereits in 13.27.0 |
| 12.x | Unter 12.68.0 | 12.68.0 | Im Advisory genannt |
| 11.x | Alle | 11.56.1 | Backport laut Hakai; im Advisory nicht genannt |
| 10.x und älter | Alle | Keiner | Upgraden oder vom Token-Treiber wechseln |

## Aktualisieren

```
composer update laravel/framework --with-dependencies
composer show laravel/framework | grep versions
php artisan config:clear && php artisan route:clear
# Queue-Worker und Octane neu starten, sie halten den alten Code geladen
php artisan queue:restart
php artisan octane:reload    # nur wenn Sie Octane nutzen
```

Lang laufende Prozesse behalten den alten Framework-Code, bis sie neu starten. Starten Sie deshalb nach dem Deployment Queue-Worker, Horizon, Octane und alles unter Supervisor neu.

## Wenn der Token-Guard exponiert war

Gehen Sie davon aus, dass auf die API zugegriffen worden sein kann. Suchen Sie in den Webserver-Logs nach Requests auf Routen hinter dem Token-Guard, bei denen das Token in ungewöhnlicher Form ankam, etwa als Array in einem JSON-Body oder als wiederholte `api_token[]`\-Parameter, gefolgt von erfolgreichen Antworten. Tauschen Sie danach die gespeicherten API-Tokens aus, denn alles, was ein Angreifer als Nutzer getan hat, geschah mit dessen Rechten.

Derselbe Forscher meldete ein zweites Advisory mittlerer Schwere, am selben Tag veröffentlicht, GHSA-5wcm-3v2w-8362: Ein Request an eine JSON:API-Ressource mit reinem Lesezugriff konnte eine verknüpfte Tabelle leeren. Dasselbe Update behebt es.

## Stolperfallen

-   **Die Versionsliste im Advisory ist unvollständig.** Sie nennt nur 12.x und 13.x, aber Packagist zeigt 11.56.1, zeitgleich veröffentlicht, und Hakai identifizierte es als Backport. Unter 11.x aktualisieren Sie auf 11.56.1 oder neuer.
-   **Laravel 10 und älter haben keinen Fix.** Aktualisieren Sie das Framework oder ersetzen Sie den Token-Guard durch Sanctum, das von diesem Advisory nicht betroffen ist.
-   **Festgeschriebene composer.lock.** Ein Deployment mit `composer install` installiert genau das, was in der Lock-Datei steht. Committen Sie die aktualisierte `composer.lock`, sonst bleibt der Server auf der alten Version.

**So wurde es geprüft.** Am 21. Oktober 2026 haben wir das Laravel-Advisory auf GitHub gelesen und die Veröffentlichungsdaten von 11.56.1, 12.68.0, 13.27.0 und 13.29.0 über die Packagist-API bestätigt. Die Angaben zu 11.x und 13.27.0 stammen aus der Analyse von Hakai Security, nicht von Laravel. Nicht getestet: der Bypass selbst.

## Quellen

1.  [GHSA-f9x3-7vq9-cph6: Token-based API guard auth bypass](https://github.com/laravel/framework/security/advisories/GHSA-f9x3-7vq9-cph6), laravel/framework, 19. Oktober 2026
2.  [GHSA-5wcm-3v2w-8362](https://github.com/laravel/framework/security/advisories/GHSA-5wcm-3v2w-8362), laravel/framework
3.  [GHSA-f9x3-7vq9-cph6: Authentication Bypass in Laravel TokenGuard](https://yokai.hakaisecurity.io/en-ghsa-f9x3-7vq9-cph6-authentication-bypass-in-laravel-tokenguard/), Hakai Security, Yokai Research
4.  [Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68](https://laravel-news.com/laravel-token-guard-auth-bypass), Laravel News
5.  [laravel/framework](https://packagist.org/packages/laravel/framework), Packagist

## Häufige Fragen

### Was ist der Laravel TokenGuard Authentication Bypass?

GHSA-f9x3-7vq9-cph6 ist eine kritische Lücke im eingebauten TokenGuard von Laravel, der Klasse hinter dem token-Treiber. Unter MySQL oder MariaDB wird ein präparierter Wert, der kein String ist, bei der Abfrage falsch behandelt, sodass die Abfrage einen bestehenden Nutzer trifft, statt fehlzuschlagen. Ein nicht angemeldeter Angreifer kann dann auf allen Routen hinter dem Guard als dieser Nutzer handeln. Sie hat CVSS 9.2 und hatte bei Veröffentlichung am 19. Oktober 2026 keine CVE-Nummer.

### Welche Laravel-Versionen beheben GHSA-f9x3-7vq9-cph6?

Das Advisory nennt laravel/framework 12.68.0 und 13.29.0 als korrigiert. Hakai Security fand den Fix in 13.27.0 und einen Backport in 11.56.1, den das Advisory nicht erwähnt. Alle erschienen am 25. August 2026, eine seitdem aktualisierte App ist also bereits geschützt. Laravel 10 und älter haben keinen Fix.

### Betrifft der Laravel Token-Guard-Bypass Sanctum oder Passport?

Das Advisory betrifft nur den token-Treiber. Sanctum und Passport registrieren eigene Guard-Treiber und werden nicht genannt. Prüfen Sie config/auth.php auf einen Guard mit driver auf token.

### Ist meine Laravel-App mit PostgreSQL betroffen?

Das Advisory nennt MySQL und MariaDB als die Datenbankkonfigurationen, unter denen der Bypass funktioniert. Aktualisieren Sie trotzdem, denn der Fix weist Tokens, die keine Strings sind, vor jeder Abfrage ab, und vielleicht wechseln Sie die Datenbank später.

**Laravel auf Servern, die niemand im Blick hat?**

Die kostenlose Prüfung kontrolliert Framework-Versionen, Queue-Worker und wie Updates in Produktion gelangen. Die Prüfung läuft auf Englisch. [Preise (EN)](/pricing/).

[Kostenlose Serverprüfung](/contact/)
