---
title: "Laravel TokenGuard auth bypass (GHSA-f9x3): er du ramt?"
description: "Laravels token-guard lod angribere logge ind som enhver bruger på MySQL og MariaDB. Rettet i 12.68.0 og 13.29.0. Sådan tjekker og patcher du."
source: "https://wardio.net/da/guides/laravel-tokenguard-auth-bypass/"
---

**Patching**

# Laravel TokenGuard auth bypass: GHSA-f9x3-7vq9-cph6

Et kritisk Laravel-advisory med et offentligt proof of concept, men kun nogle apps er ramt. Tre tjek viser, om din er en af dem.

Af David Kabel · Opdateret 2026-10-21 · 4 min læsning

**Det korte svar**

Din app er ramt, hvis den kører laravel/framework under 12.68.0 eller 13.29.0, har en guard med den almindelige `token`\-driver og har brugerne i MySQL eller MariaDB. En angriber kan så logge ind som en eksisterende bruger uden at kende brugerens API-token. Kør `composer update laravel/framework`. Rettelserne har ligget på Packagist siden 25. august 2026, så har du opdateret siden da, er du allerede rettet.

## Hvad der gik galt

Laravels `TokenGuard` beskytter ruter bag `token`\-driveren, typisk `auth:api`. Før rettelsen tjekkede den kun, at det indsendte token ikke var tomt, før det blev sendt videre til brugeropslaget. Ifølge advisoriet bliver en særligt udformet værdi, der ikke er en streng, så håndteret forkert på MySQL og MariaDB, og forespørgslen rammer en utilsigtet bruger i stedet for at fejle. Rettelsen afviser arrays og andre værdier, der ikke er strenge, før der sendes en forespørgsel.

Laravel offentliggjorde advisoriet 19. oktober 2026 med CVSS 9.2 og intet CVE-nummer. Hakai Security udgav en analyse og et fungerende proof of concept dagen efter.

## Tre tjek

```
# 1. Hvilken framework-version er installeret?
composer show laravel/framework | grep versions

# 2. Bruger en guard den almindelige token-driver?
grep -n "'driver' => 'token'" config/auth.php

# 3. Ligger users-tabellen i MySQL eller MariaDB?
grep -E '^DB_CONNECTION=' .env
```

Du skal opfylde alle tre for at være ramt: en berørt version, en guard på `token`\-driveren og MySQL eller MariaDB. Advisoriet dækker kun den driver. Sanctum og Passport registrerer deres egne drivere og er ikke nævnt. Mange apps har den gamle `api`\-guard i `config/auth.php` uden at bruge den på nogen rute, men findes guarden, så patch hellere end at bruge tid på at bevise, at den ikke bruges.

## Rettede versioner

| Gren | Ramt | Rettet i | Bemærkninger |
| --- | --- | --- | --- |
| 13.x | Under 13.29.0 | 13.29.0 | Hakai fandt rettelsen allerede i 13.27.0 |
| 12.x | Under 12.68.0 | 12.68.0 | Nævnt i advisoriet |
| 11.x | Alle | 11.56.1 | Backport fundet af Hakai; ikke nævnt i advisoriet |
| 10.x og ældre | Alle | Ingen | Opgradér, eller skift væk fra token-driveren |

## Opdatér

```
composer update laravel/framework --with-dependencies
composer show laravel/framework | grep versions
php artisan config:clear && php artisan route:clear
# Genstart queue workers og Octane, som holder den gamle kode indlæst
php artisan queue:restart
php artisan octane:reload    # kun hvis du kører Octane
```

En proces, der kører længe, beholder den gamle framework-kode, indtil den genstarter. Genstart derfor queue workers, Horizon, Octane og alt under Supervisor efter udrulningen.

## Hvis token-guarden var eksponeret

Gå ud fra, at API'et kan være tilgået. Se i webserverens logs efter requests til ruter bag token-guarden, hvor tokenet kom i en usædvanlig form, fx som et array i en JSON-body eller som gentagne `api_token[]`\-parametre, efterfulgt af svar uden fejl. Udskift derefter de gemte API-tokens, for alt, hvad en angriber gjorde som en bruger, skete med den brugers rettigheder.

Samme forsker rapporterede et andet advisory med mellem alvor, udgivet samme dag, GHSA-5wcm-3v2w-8362, hvor en request til en JSON:API-ressource med kun læseadgang kunne tømme en relateret tabel. Samme opdatering dækker det.

## Faldgruber

-   **Advisoriets versionsliste er ufuldstændig.** Den nævner kun 12.x og 13.x, men Packagist viser 11.56.1 udgivet sammen med dem, og Hakai fandt den som backporten. På 11.x opdaterer du til 11.56.1 eller nyere.
-   **Laravel 10 og ældre har ingen rettelse.** Opgradér frameworket, eller erstat token-guarden med Sanctum, som dette advisory ikke dækker.
-   **Låst composer.lock.** En udrulning, der kører `composer install`, installerer præcis det, der står i lock-filen. Commit den opdaterede `composer.lock`, ellers bliver serveren på den gamle version.

**Sådan blev det kontrolleret.** Den 21. oktober 2026 læste vi Laravels advisory på GitHub og bekræftede udgivelsesdatoerne for 11.56.1, 12.68.0, 13.27.0 og 13.29.0 via Packagists API. Oplysningerne om 11.x og 13.27.0 kommer fra Hakai Securitys analyse, ikke fra Laravel. Ikke testet: selve fejlen.

## Kilder

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

## Spørgsmål

### Hvad er Laravel TokenGuard authentication bypass?

GHSA-f9x3-7vq9-cph6 er en kritisk fejl i Laravels indbyggede TokenGuard, klassen bag token-driveren. På MySQL eller MariaDB bliver en særligt udformet værdi, der ikke er en streng, håndteret forkert under opslaget, så forespørgslen rammer en eksisterende bruger i stedet for at fejle. En angriber uden login kan derefter optræde som den bruger på alle ruter bag guarden. Den har CVSS 9.2 og havde intet CVE-nummer, da den blev offentliggjort 19. oktober 2026.

### Hvilke Laravel-versioner retter GHSA-f9x3-7vq9-cph6?

Advisoriet angiver laravel/framework 12.68.0 og 13.29.0 som rettet. Hakai Security fandt rettelsen i 13.27.0 og en backport i 11.56.1, som advisoriet ikke nævner. Alle blev udgivet 25. august 2026, så en app, der er opdateret siden da, er allerede rettet. Laravel 10 og ældre har ingen rettelse.

### Rammer Laravel token guard-fejlen Sanctum eller Passport?

Advisoriet dækker kun token-driveren. Sanctum og Passport registrerer deres egne guard-drivere og er ikke nævnt. Tjek config/auth.php for en guard, hvor driver er sat til token.

### Er min Laravel-app ramt, hvis den bruger PostgreSQL?

Advisoriet nævner MySQL og MariaDB som de databaseopsætninger, hvor fejlen virker. Opdatér alligevel, for rettelsen afviser tokens, der ikke er strenge, før der sendes en forespørgsel, og du skifter måske database senere.

**Kører du Laravel på servere, ingen holder øje med?**

Den gratis gennemgang tjekker framework-versioner, queue workers og hvordan opdateringer når ud i produktion. [Priser](/da/priser/).

[Gratis servergennemgang](/da/kontakt/)
