CVE-2026-15300: Kritisk SQL-fejl i GEO my WP
Kritisk SQL-fejl i WordPress-plugin GEO my WP lader hackere manipulere din database uden login – opdater til version 4.5.5 nu.
Hvad er det?
GEO my WP er et WordPress-plugin, der bruges til at vise kortbaserede søgninger på hjemmesider – fx ‘find din nærmeste butik’. Sårbarheden er en SQL-injektion (en angrebstype hvor en hacker smugler skadelige kommandoer ind i databaseforespørgsler) i søgeparametrene for afstand og koordinater. Fejlen opstår fordi plugin’et ikke tjekker ordentligt, om de værdier der sendes til databasen, faktisk er tal. En angriber kan sende manipulerede URL-parametre og dermed få adgang til at køre egne kommandoer i din database – helt uden at logge ind.
Hvem rammer det?
Du er i risikogruppen hvis:
- Din hjemmeside kører WordPress
- Du har installeret plugin’et GEO my WP i version 4.5.4 eller tidligere
- Plugin’et er aktivt og bruges til kortbaseret søgning (fx lokalitetsfinder, butikslokalisering eller lignende)
Sårbarheden kræver ingen bruger-login og kan udnyttes af hvem som helst med adgang til din hjemmesides URL.
Hvad kan ske?
En angriber kan udnytte fejlen til at:
- Manipulere data i din database – ændre, slette eller indsætte indhold uden din viden
- Forstyrre din hjemmeside – fx ved at sætte databasen i stå med tidskrævende forespørgsler (såkaldt ‘time-based blind SQL injection’), hvilket gør siden langsom eller utilgængelig
- Potentielt hente følsomme data – afhængigt af databasens opsætning kan angriberen i visse konfigurationer forsøge at udtrække oplysninger
CVSS-scoren viser høj påvirkning på integritet og tilgængelighed, men ikke direkte datatyveri (fortrolighed er ikke kompromitteret ifølge vurderingen).
Hvor alvorligt er det?
Sårbarheden er vurderet til 9.1 ud af 10 – Kritisk. Det skyldes at:
- Angrebet kan udføres over internettet uden nogen form for login
- Det kræver ingen brugerinteraktion – hverken fra dig eller dine besøgende
- Kompleksiteten er lav, hvilket betyder at angrebet er relativt let at gennemføre
I praksis betyder det, at en hacker med grundlæggende kendskab til SQL-injektion kan angribe din side, så snart de opdager at du kører en sårbar version.
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 og gå til ‘Plugins’ → ‘Installerede plugins’.
- Find GEO my WP i listen og tjek versionsnummeret. Er det 4.5.4 eller lavere, er du sårbar.
- Opdater plugin’et til version 4.5.5 ved at klikke ‘Opdater nu’ – rettelsen er tilgængelig og lukker hullet.
- Tjek dine databaselogfiler (eller bed din webudvikler om det) for usædvanlige forespørgsler, særligt til tabeller der indeholder lokationsdata.
- Overvej en midlertidig deaktivering af plugin’et, hvis du ikke kan opdatere med det samme – det fjerner angrebsfladen mens du finder en løsning.
Opdater inden for 24-48 timer
Opdater GEO my WP til version 4.5.5 straks – det er den eneste pålidelige løsning. Rettelsen tilføjer en simpel men effektiv kontrol, der sikrer at koordinatværdier altid er tal, og at skadelige kommandoer aldrig når din database. Hvis du er usikker på om du er berørt, eller ønsker hjælp til at gennemgå dine logfiler for tegn på angrebsforsøg, er du velkommen til at kontakte os.
Tidslinje
Konkrete eksempler
Tidsbaseret databaseangreb via kortfunktion
En angriber besøger din hjemmeside og finder kortfunktionen drevet af GEO my WP. I stedet for at sende en normal afstandsværdi sender de en manipuleret URL som: ?distance=1 OR SLEEP(5)&lat=55&lng=12. Din database udfører kommandoen og fryser i fem sekunder for hvert kald. Ved at gentage dette kan angriberen lægge din hjemmeside ned uden at have nogen form for login.
Manipulation af søgeresultater i butiksfinder
En konkurrent eller ondsindet aktør udnytter SQL-injektionsfejlen til at ændre logikken bag din butikssøgning, så forkerte eller ingen resultater vises til besøgende. Kunder der søger efter din nærmeste lokation får fejlinformation eller ingen resultater – uden at du opdager det med det samme.
Automatiseret masseangreb via sårbarhedsscanner
En hacker kører et automatiseret scanningsprogram der gennemgår tusindvis af WordPress-sider på én gang og leder efter GEO my WP version 4.5.4 eller ældre. Din hjemmeside identificeres som sårbar, og angrebet udføres automatisk – uden at nogen menneskelig angriber aktivt retter opmærksomheden mod netop dig. Denne type masseangreb er meget almindelig ved kendte plugin-sårbarheder.
Ofte stillede spørgsmål
Skal jeg være bekymret, selvom min hjemmeside er lille og ikke særlig besøgt?
Ja. Hackere scanner automatisk internettet for kendte sårbarheder – de leder ikke specifikt efter dig, men efter sårbare versioner af plugins. Størrelsen på din hjemmeside betyder ikke noget i dette tilfælde. Bruger du plugin’et i en sårbar version, er du et potentielt mål.
Kan jeg bare deaktivere plugin'et i stedet for at opdatere?
Ja, deaktivering fjerner den umiddelbare risiko, da angrebet kræver at plugin’et aktivt behandler forespørgsler. Men deaktivering fjerner også kortfunktionaliteten på din side. Den bedste løsning er at opdatere til 4.5.5, så du bevarer funktionen og lukker hullet.
Hvordan ved jeg om nogen allerede har udnyttet sårbarheden på min hjemmeside?
Tegn på angrebsforsøg kan ses i dine serverlogfiler som usædvanlige URL-forespørgsler med mærkelige værdier i ‘distance’, ‘lat’ eller ‘lng’-parametrene – fx lange tekststrenge eller SQL-kommandoer i stedet for tal. Din webudvikler eller hostingudbyders supportteam kan hjælpe dig med at gennemgå disse logs.
Påvirker fejlen min database permanent, hvis jeg ikke opdaterer?
Ikke i sig selv – men hvis en angriber aktivt udnytter sårbarheden, kan de ændre eller slette data i din database. Det potentielle skadeomfang afhænger af hvad du har lagret, og hvordan din database er konfigureret. Opdater så hurtigt som muligt for at undgå risikoen.
Er WordPress selv sårbart, eller er det kun dette plugin?
Det er kun GEO my WP-plugin’et der er sårbart – ikke WordPress-kernen. Fejlen opstår fordi plugin’et håndterer bestemte URL-parametre på en usikker måde, der omgår WordPress’ egne beskyttelsesmekanismer. Andre plugins og selve WordPress er ikke berørt af netop denne sårbarhed.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
The GEO my WP plugin for WordPress was vulnerable to SQL Injection via the ‘distance’, ‘lat’, and ‘lng’ parameters in versions up to, and including, 4.5.4. The values were read from $_SERVER[‘QUERY_STRING’] via parse_str() (bypassing wp_magic_quotes, which does not cover $_SERVER), then passed through bare esc_sql() before being interpolated into unquoted numeric positions in the proximity-search query (HAVING/SELECT clause distance math, BETWEEN bounding-box pre-filter) built by gmw_locations_query() in plugins/posts-locator/includes/class-gmw-wp-query.php. Because esc_sql() only escapes string delimiters and these positions are numeric, payloads such as `1 OR SLEEP(3)` survived sanitization. Fixed in 4.5.5 by adding an upstream is_numeric() guard that short-circuits the WHERE clause to `AND 1 = 0` when either coordinate is non-numeric, and by replacing the three esc_sql() calls with (float) casts.
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.