CVE-2026-15964: Kritisk hul i WP-plugin Single Sign On For TNG
Kritisk fejl i WordPress-pluginnet Single Sign On For TNG (CVE-2026-15964) lader alle overtage administratorkonti uden login. Deaktiver pluginnet.
Hvad er det?
CVE-2026-15964 er en sårbarhed i WordPress-pluginnet Single Sign On For TNG, der gør det muligt at nulstille adgangskoden på enhver konto uden at være logget ind. Fejlen ligger i en funktion, der håndterer login via engangskode (SSO), og som mangler et reelt kontroltjek af, hvem der beder om at få nulstillet adgangskoden. Den sikkerhedskode, funktionen bruger til at verificere forespørgslen, kan hentes frit af enhver besøgende, fordi den vises åbent i sidens kildekode. Dermed kan en angriber selv sætte en ny adgangskode på for eksempel en administratorkonto uden at kende den gamle adgangskode eller have adgang til kontoens mailboks. CWE-620 er den tekniske kategori for denne type fejl, hvor et system har en alternativ vej forbi den normale adgangskontrol.
Hvem rammer det?
Sårbarheden rammer alle WordPress-websites, der har installeret pluginnet Single Sign On For TNG i version 2.0.0 eller tidligere. Det gælder både offentlige myndigheders hjemmesider, medlemsportaler og virksomheders kundeportaler, hvor pluginnet er aktivt. Alle brugertyper er udsatte, men det er især administratorkonti, der udgør den største risiko, hvis de bliver overtaget.
Hvad kan ske?
En angriber kan uden login sætte en ny adgangskode på en vilkårlig konto, herunder administratorkontoen, og derefter logge ind med fuld kontrol over websitet. Herfra kan angriberen installere skadelig kode, oprette nye administratorbrugere, stjæle kundedata fra formularer og databaser, eller bruge sitet til at sprede malware eller phishing til besøgende. For en dansk virksomhed betyder det typisk driftsstop, tab af kundedata og et omdømmeproblem, hvis kunder eller samarbejdspartnere opdager, at sitet er kompromitteret.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er den højeste alvorlighedsgrad. Angrebet kræver ingen adgangskode, intet login og ingen handling fra en bruger på sitet. Det kan udføres over internettet af hvem som helst, der kender adressen på et sårbart website. Der er ikke oplyst om angrebet er observeret i praksis, men den tekniske beskrivelse af fremgangsmåden er offentligt tilgængelig, hvilket gør det realistisk, at angreb kan opstå kort tid efter offentliggørelsen.
Hvad gør jeg nu?
Det vigtigste er at fjerne den sårbare funktion fra internettet, indtil der findes en løsning.
- Deaktiver pluginnet Single Sign On For TNG på alle WordPress-installationer, indtil en opdateret version er tilgængelig.
- Tjek pluginversionen på alle jeres WordPress-sites, også dem I ikke bruger dagligt, da glemte sites ofte er de mest sårbare.
- Gennemgå listen over administratorbrugere for konti, I ikke selv har oprettet, og tjek loglisten for adgangskodeskift, I ikke kan genkende.
- Skift adgangskoder på alle administratorkonti og aktiver totrinsgodkendelse, hvis det ikke allerede er sat op.
- Overvåg sitet for uventede ændringer i filer, indhold eller brugere de kommende uger.
- Kontakt en sikkerhedsrådgiver, hvis I finder tegn på, at sitet allerede er kompromitteret, eller hvis I er i tvivl om, hvordan I renser og genopretter sitet.
Deaktiver pluginnet i dag
Vi anbefaler, at I deaktiverer pluginnet Single Sign On For TNG med det samme, da der ikke findes en opdateret version, der lukker hullet. Det er kun forsvarligt at vente, hvis pluginnet allerede er deaktiveret eller afinstalleret på alle jeres sites. Er I i tvivl om, hvorvidt jeres site allerede er ramt, bør I få en teknisk gennemgang, før I genaktiverer nogen form for SSO-login.
Tidslinje
Konkrete eksempler
Overtagelse af en dansk foreningshjemmeside
En mindre dansk brancheforening bruger WordPress med pluginnet Single Sign On For TNG til medlemslogin. En angriber henter den offentligt tilgængelige sikkerhedskode fra forsiden, nulstiller adgangskoden på administratorkontoen og logger ind. Herfra installerer angriberen skadelig kode, der omdirigerer besøgende til en phishing-side, og foreningen opdager først problemet, da medlemmer klager over mistænkelige mails.
Ofte stillede spørgsmål
Hvordan finder vi ud af, om vi bruger det sårbare plugin?
Log ind i WordPress-administrationen, gå til Plugins, og se om Single Sign On For TNG står på listen samt hvilken version der er installeret. Er versionen 2.0.0 eller lavere, er sitet sårbart.
Kan vi vente til weekenden med at gøre noget?
Nej. Sårbarheden kræver hverken login eller brugerhandling, og den tekniske metode er offentligt beskrevet. Deaktiver pluginnet så hurtigt som muligt, gerne inden for samme arbejdsdag.
Er vi ramt, hvis vi ikke selv bruger SSO-login?
Ja. Selve fejlen ligger i en funktion, der er tilgængelig for alle besøgende, uanset om jeres brugere rent faktisk bruger SSO-funktionen til daglig. Det afgørende er, om pluginnet er installeret og aktivt.
Hvordan kan vi tjekke, om vi allerede er blevet ramt?
Se efter nye eller ukendte administratorbrugere, uventede adgangskodeskift i loggen, og uforklarlige ændringer i filer eller indhold. Er I i tvivl, bør en sikkerhedsrådgiver gennemgå sitet.
Skal vi anmelde hændelsen, hvis vi finder tegn på angreb?
Har I mistanke om, at persondata er blevet tilgået eller stjålet, skal I vurdere anmeldelsespligten efter databeskyttelsesforordningen og kontakte Datatilsynet inden for 72 timer, hvis det vurderes at være en anmeldelsespligtig hændelse.
Findes der en opdatering, der løser problemet?
Der er ikke oplyst om en rettet version på tidspunktet for offentliggørelsen. Indtil en opdatering foreligger, er deaktivering af pluginnet den eneste sikre løsning.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The Single Sign On For TNG plugin for WordPress is vulnerable to Authentication Bypass via unauthenticated password reset in all versions up to, and including, 2.0.0. This is due to the `ssoprocess_ajax()` function — registered on `wp_ajax_nopriv_ssoprocess_ajax` and therefore reachable without authentication — accepting an attacker-supplied `email` parameter with the `setnewpassword` operation and calling `reset_password()` on the resolved account without any ownership token, email confirmation link, or capability check. The sole guard is a call to `check_ajax_referer()`, which provides no authorization barrier because the `ssoajaxnonce` nonce is publicly broadcast on every front-end page via `wp_localize_script()` into the `SSOPWDREQUIREMENT` JavaScript object; since WordPress computes nonces for logged-out visitors against a shared anonymous session context, any unauthenticated visitor can scrape a valid nonce from the homepage and use it to authenticate the request. This makes it possible for unauthenticated attackers to change the password of any WordPress account, including administrator accounts, enabling complete site takeover.
Referencer & kilder
Eksterne kilder
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.