Åbner i en ny fane
CVE-2026-97637
Kritisk

CVE-2026-97637: Login-omgåelse i JSON API Auth plugin

JSON API Auth til WordPress lækker admin-loginet via en cachet session-cookie. Deaktivér pluginet, til der findes en rettelse.

CVSS Score
9.8
Offentliggjort
02/10/2026
Patch-status
Ingen opdatering endnu
Exploit
Teoretisk, ingen kendt udnyttelse
Tidsfrist
Deaktivér pluginet inden for 24 timer

Hvad er det?

CVE-2026-97637 er en fejl i WordPress-pluginet JSON API Auth, der kræver det tilhørende plugin PI-Media/json-api for at virke. Problemet opstår, fordi parent-pluginet gemmer svar på serveren i en mellemlagring kaldet en transient, som kun identificeres ud fra webadressen og forespørgselsparametre, ikke ud fra HTTP-metoden eller selve POST-dataen. Når en administrator logger ind via endepunktet generate_auth_cookie, indlejres en gyldig login-cookie i svaret, og det svar bliver gemt i cachen. Enhver, der efterfølgende sender en almindelig, uautoriseret GET-forespørgsel til samme adresse, kan derfor få udleveret den samme administrator-cookie og bruge den til at logge ind som administrator.

Hvem rammer det?

Det rammer WordPress-sites, der kører JSON API Auth i alle versioner til og med 3.1.2, sammen med det tilhørende plugin PI-Media/json-api installeret, aktivt og med Auth-controlleren slået til. Sårbarheden kræver desuden, at en administrator har sendt en loginforespørgsel (POST) til /api/auth/generate_auth_cookie/ inden for de seneste 24 timer, som er den tid, cachen holdes aktiv.

Hvad kan ske?

En angriber, der får fat i administratorens session-cookie, kan logge ind som administrator uden at kende password. Herfra kan vedkommende oprette nye brugere, installere skadelige plugins eller temaer, ændre indhold, stjæle persondata fra formularer og databaser, eller lægge sitet ned. For en dansk virksomhed betyder det i praksis fuld overtagelse af websitet og alt, hvad der er knyttet til det, herunder kundedata og eventuel webshop.

Hvor alvorligt er det?

CVSS-scoren er 9,8 ud af 10, kritisk. Angrebet kræver ikke login, ikke adgangsrettigheder og ingen handling fra brugeren, kun en almindelig GET-forespørgsel til den rette adresse. Den indbyggede kontrol, der skulle kræve HTTPS, kan desuden omgås ved at tilføje parameteren insecure=cool til forespørgslen. Der er ikke oplysninger om aktiv udnyttelse eller offentliggjort angrebskode på offentliggørelsesdatoen, men fejlen er enkel at udnytte, hvis forudsætningerne er til stede.

Hvad gør jeg nu?

Følg punkterne i rækkefølge. Det første lukker hullet med det samme.

  1. Deaktivér JSON API Auth-pluginet, eller slå Auth-controlleren fra i PI-Media/json-api, indtil der findes en rettet version.
  2. Undersøg, om jeres site kører PI-Media/json-api med Auth-controlleren aktiveret, og om JSON API Auth er installeret i version 3.1.2 eller ældre.
  3. Log alle brugere, især administratorer, ud og rotér de hemmelige nøgler (auth keys og salts) i wp-config.php, så eksisterende cookies ikke længere er gyldige.
  4. Gennemgå webserverens logfiler for uautoriserede GET-forespørgsler til /api/auth/generate_auth_cookie/ eller get_currentuserinfo.
  5. Opdatér til en rettet version af JSON API Auth, så snart udvikleren udsender en.
  6. Hent hjælp udefra, hvis I finder tegn på, at kontoen allerede er misbrugt, eller hvis I er i tvivl om, hvorvidt jeres opsætning er sårbar.
Tidsfrist

Deaktivér pluginet inden for 24 timer

Sådan ser Auroa det

Vi anbefaler, at I deaktiverer JSON API Auth eller slår Auth-controlleren fra med det samme, uanset om I kan bekræfte aktivt misbrug. Det er kun forsvarligt at vente, hvis pluginet eller dets Auth-funktion ikke er i brug på jeres site. Når der findes en rettet version, bør I opdatere og samtidig rotere administratorernes adgangskoder og de hemmelige nøgler i wp-config.php som en ekstra sikkerhed.

Tidslinje

02/10/2026
CVE-2026-97637 offentliggjort
Sårbarheden registreres med en CVSS-score på 9,8 og beskrives som en godkendelsesomgåelse via en cachet session-cookie i JSON API Auth.

Konkrete eksempler

Overtagelse af en kommunal institutions WordPress-site

En dansk skole eller forening bruger JSON API Auth til at give en mobilapp adgang til deres WordPress-site. En medarbejder logger ind via appen om morgenen, og svaret bliver liggende i serverens cache resten af dagen. En angriber sender en almindelig forespørgsel til samme adresse, får udleveret administratorens session-cookie og opretter en ny administratorkonto, som bruges til at indsætte skadelig kode på sitet.

Ofte stillede spørgsmål

CVSS-detaljer

Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CWE-svaghedstyper

CWE-287

Original NVD-beskrivelse (engelsk)

The JSON API Auth plugin for WordPress is vulnerable to Authentication Bypass via Cached Session Cookie Disclosure in all versions up to, and including, 3.1.2. The vulnerability exists because the required PI-Media/json-api parent plugin caches controller dispatch results in transients keyed solely by URI and query string, ignoring HTTP method and POST body; this causes the `generate_auth_cookie()` endpoint — which embeds a live WordPress `logged_in` cookie produced by `wp_generate_auth_cookie()` directly in its JSON response body — to serve that cached authenticated response to any subsequent unauthenticated GET request to the same URI. This makes it possible for unauthenticated attackers to retrieve a valid Administrator `logged_in` session cookie from the cached response and use it to fully authenticate as the site Administrator, including via the same plugin’s `get_currentuserinfo` endpoint and any cookie-authenticated controller action. Exploitation requires the PI-Media/json-api parent plugin to be installed and active with the Auth controller enabled, and a legitimate Administrator must have POSTed to `/api/auth/generate_auth_cookie/` within the preceding 24-hour cache TTL; the nominal HTTPS enforcement gate present in `Auth.php` is trivially bypassed by supplying `insecure=cool` as a request parameter.

Referencer & kilder

Eksterne kilder

Sværhedsgrad
Kritisk
CVSS Base Score
9,8
Hurtige fakta
CVE-ID
CVE-2026-97637
Offentliggjort
02/10/2026
Sidst opdateret
02/10/2026
Exploit-status
Teoretisk, ingen kendt udnyttelse
Patch-status
Ingen opdatering endnu

Brug for hjælp med jeres sikkerhed?

Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.