CVE-2026-9109: GPTranslate XSS-sårbarhed i WordPress
WordPress-plugin GPTranslate lader hackere injicere skadelig kode på din hjemmeside uden login – opdater til version 2.32 eller nyere.
Hvad er det?
GPTranslate er et WordPress-plugin, der automatisk oversætter hjemmesider ved hjælp af AI. En sårbarhed i pluginnets måde at gemme oversættelser på gør det muligt for angribere at indlejre skadelige scripts (små programmer) direkte i din hjemmesides indhold. Problemet kaldes Stored Cross-Site Scripting (XSS), hvilket betyder, at den skadelige kode gemmes på serveren og kører i browseren hos enhver besøgende, der åbner den kompromitterede side. Endnu mere bekymrende er det, at pluginnet eksponerer sin egen API-nøgle (en adgangskode til oversættelsestjenesten) åbent i sidens kildekode, så alle – uden login – kan hente nøglen og sende skadelige oversættelser til din side.
Hvem rammer det?
Sårbarheden rammer alle WordPress-hjemmesider, der bruger GPTranslate-pluginnet i version 2.31 eller tidligere. Det er typisk virksomheder, webshops, foreninger og organisationer, der har aktiveret automatisk flersproget oversættelse på deres WordPress-site. Du er i risikogruppen, hvis:
- Du har GPTranslate installeret og aktiveret på din WordPress-side.
- Du kører en version op til og med 2.31.
- Din hjemmeside er offentligt tilgængelig på internettet.
Hvad kan ske?
Hvis en angriber udnytter sårbarheden, kan følgende ske:
- Besøgende kapres: Skadelig kode kører automatisk i browseren hos alle, der besøger din hjemmeside – uden at de opdager det.
- Datatyveri: Angribere kan stjæle login-cookies og sessionsdata fra dine besøgende eller kunder, hvilket kan give adgang til deres konti.
- Phishing fra din side: Din hjemmeside kan misbruges til at vise falske loginbokse eller omdirigere besøgende til svindelsider.
- Omdømmeskade: Din virksomheds hjemmeside spreder skadelig kode til besøgende, hvilket kan koste dig kunder og tillid.
- Misbrug af API-nøgle: Den eksponerede API-nøgle kan misbruges til at sende store mængder skadelige oversættelser, hvilket kan medføre uventede regninger fra oversættelsestjenesten.
Hvor alvorligt er det?
Sårbarheden er vurderet til CVSS-score 7.2 (Alvorlig) på en skala fra 0–10. Det er alvorligt af flere grunde:
- Ingen login kræves: Enhver på internettet kan udnytte sårbarheden uden at have en konto på din side.
- Lav teknisk barriere: API-nøglen ligger frit tilgængelig i sidens kildekode, så angrebets første skridt er trivielt nemt.
- Rammer dine besøgende: Det er ikke kun din hjemmeside, der er i fare – dine kunder og brugere udsættes direkte for risiko.
- Vedvarende trussel: Den indlejrede kode forbliver aktiv, indtil den aktivt fjernes, selvom du opdaterer pluginnet efterfølgende.
Hvad gør jeg nu?
Følg disse trin så hurtigt som muligt – helst inden for 24–48 timer:
- Log ind på din WordPress-administrator: Gå til Dashboard → Plugins → Installerede plugins.
- Opdater GPTranslate: Find GPTranslate i listen og klik ‘Opdater nu’ for at installere version 2.32 eller nyere. Har du ikke automatiske opdateringer, gør det manuelt.
- Gennemse gemte oversættelser: Tjek om der er mistænkelige scripts i dine oversatte indholdssider. Kontakt en tekniker ved tvivl.
- Skift API-nøgle: Kontakt GPTranslates leverandør eller generer en ny API-nøgle, da den gamle er eksponeret og potentielt kompromitteret.
- Tjek dine logfiler: Bed din webhost eller IT-supporter om at gennemgå server- og adgangslogfiler for usædvanlig aktivitet efter REST API-endpointet /wp-json/gptranslate/v1/request.
- Aktiver automatiske plugin-opdateringer: Gå til Dashboard → Plugins og slå automatisk opdatering til for GPTranslate og øvrige plugins for at undgå lignende problemer fremover.
Opdater inden for 24–48 timer
Opdater GPTranslate til version 2.32 eller nyere med det samme – det er den vigtigste og hurtigste handling du kan tage. Fordi API-nøglen allerede har ligget eksponeret i din hjemmesides kildekode, bør du også få udstedt en ny nøgle og bede en tekniker gennemgå, om der allerede er indlejret skadelig kode på siden. Overvej desuden at aktivere en Web Application Firewall (WAF) foran din WordPress-side – det er et ekstra sikkerhedsnet, der kan blokere lignende angreb i fremtiden.
Tidslinje
Konkrete eksempler
Angriberen høster kundernes login-cookies
En angriber besøger din webshop, henter den eksponerede API-nøgle fra sidens kildekode og sender et skadeligt JavaScript-payload til oversættelses-API’et. Koden gemmes i din database og indlæses nu på din forside. Hver gang en kunde besøger shoppen, køres scriptet i deres browser og sender deres login-cookie til angriberen – som derefter kan overtage kundernes konti og se ordrehistorik og betalingsoplysninger.
Falsk loginside phisher dine brugere
Via den samme metode indlejrer angriberen et script, der overskriver din WordPress-loginside med en falsk kopi. Når dine administratorer eller medarbejdere forsøger at logge ind, sendes deres brugernavn og adgangskode direkte til angriberen. Med disse oplysninger kan angriberen efterfølgende tage fuld kontrol over din hjemmeside og eventuelt installere yderligere skadelig software.
Misbrug af eksponeret API-nøgle til masseforgiftning
En automatiseret bot scanner tusindvis af WordPress-sites efter GPTranslate-installationer, henter API-nøglen fra kildekoden på hvert site og sender store mængder skadelige oversættelses-payloads til alle sårbare sider på én gang. Resultatet er, at hundredvis af hjemmesider kompromitteres på kort tid, og ejerne opdager det først, når kunder begynder at klage over mistænkeligt indhold – eller søgemaskinerne markerer siderne som farlige.
Ofte stillede spørgsmål
Hvordan ved jeg, om mit site er berørt?
Log ind på din WordPress-administrator og gå til Plugins → Installerede plugins. Find GPTranslate og tjek versionnummeret. Kører du version 2.31 eller lavere, og er pluginnet aktivt, er din side sårbar. Er du i tvivl, kan du også bede din webhost eller IT-supporter om hjælp.
Kan jeg bare deaktivere pluginnet i stedet for at opdatere?
Ja, at deaktivere pluginnet stopper den aktive sårbarhed og er en god midlertidig løsning, hvis du ikke kan opdatere med det samme. Vær dog opmærksom på, at eventuel skadelig kode, der allerede er indlejret i dine sider, stadig kan være aktiv. Du bør efterfølgende opdatere til den patchede version og gennemgå dit indhold.
Hvad er en API-nøgle, og hvorfor er det et problem, at den er eksponeret?
En API-nøgle er en slags adgangskode, der bruges til at kommunikere med en ekstern tjeneste – i dette tilfælde GPTranslates oversættelsesfunktion. Problemet er, at pluginnet beregner nøglen direkte fra din hjemmesides adresse og viser den åbent i sidens kildekode. Det betyder, at alle besøgende – inklusive angribere – kan hente nøglen og bruge den til at sende skadelige kommandoer til din side uden at have nogen form for adgang eller login.
Kan mine kunder eller besøgende have fået skade allerede?
Det er muligt, hvis din side har været udsat for et angreb, inden du opdaterede. Skadelig kode, der er indlejret via denne sårbarhed, kører i besøgendes browsere og kan have stjålet sessionsdata eller omdirigeret dem til svindelsider. Tjek dine logfiler og overvej at informere dine brugere, hvis du finder tegn på misbrug. En IT-sikkerhedsekspert kan hjælpe med at vurdere omfanget.
Er dette noget, min webhost håndterer automatisk?
Nej, som udgangspunkt er det dit ansvar at holde dine WordPress-plugins opdaterede – medmindre du har en forvaltningsaftale med din webhost eller et WordPress-bureau, der inkluderer plugin-opdateringer. Kontakt din webhost for at høre, hvad de dækker, og overvej at indgå en aftale om løbende vedligeholdelse, hvis du ikke selv har ressourcer til det.
Hvad er Stored XSS, og hvad adskiller det fra andre typer angreb?
Stored XSS (lagret cross-site scripting) betyder, at den skadelige kode gemmes permanent i din hjemmesides database og automatisk aktiveres, hver gang en besøgende åbner den berørte side. Det er mere farligt end de fleste andre XSS-varianter, fordi angrebet ikke kræver, at offeret klikker på et særligt link – blot det at besøge siden er nok til at blive ramt.
Ramte produkter
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REST API Translation Storage in all versions up to, and including, 2.31 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The deterministically derived API key (sha256 of the site URL) is printed in the HTML source of every page via the JavaScript variable gptApiKey, meaning any unauthenticated visitor can retrieve the key and submit malicious translation payloads to the /wp-json/gptranslate/v1/request endpoint without any additional precondition.
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.
