CVE-2019-25748: SQL-injection i Joomla JHotelReservation
SQL-injection i Joomla-plugin JHotelReservation giver hackere adgang til hele din database uden login.
Hvad er det?
CVE-2019-25748 er en SQL-injection-sårbarhed (en teknik hvor angribere sniger skadelig kode ind i databaseforespørgsler) i Joomla-tilføjelsesprogrammet JHotelReservation version 6.0.7. Sårbarheden findes i søgefunktionen, nærmere bestemt i parameteren rooms, som ikke tjekker brugerinput ordentligt. Det betyder, at en angriber kan sende en særligt udformet anmodning til dit website og få direkte adgang til indholdet i din database — uden at skulle logge ind eller have særlige rettigheder. Fejlen er klassificeret som CWE-89, som er den officielle betegnelse for netop denne type database-angreb.
Hvem rammer det?
Sårbarheden rammer alle, der driver et Joomla-baseret website med JHotelReservation version 6.0.7 installeret. Det drejer sig typisk om:
- Hoteller, pensionater og overnatningssteder med online booking
- Turistbureauer og formidlere der bruger Joomla til reservationssystemer
- Webshops og portaler der tilbyder hotel- eller udlejningssøgning via dette plugin
Angriberen behøver ingen forudgående viden om dit system og intet login — alle med internetadgang kan potentielt udnytte fejlen.
Hvad kan ske?
Hvis sårbarheden udnyttes, kan en angriber:
- Læse hele din database — herunder kundedata, reservationer, kontaktoplysninger og loginoplysninger
- Afsløre systemoplysninger — fx hvilken databaseversion du kører, som kan bruges til videre angreb
- Potentielt ændre data — afhængigt af databaserettigheder kan angriberen manipulere med indhold
- Bryde GDPR — et datalæk med personoplysninger kan medføre bøder og krav om underretning til Datatilsynet
Fortrolighedsrisikoen er høj (C=HIGH), mens risikoen for direkte ændring af data er begrænset men til stede (I=LOW).
Hvor alvorligt er det?
Sårbarheden har fået en CVSS-score på 8.2 ud af 10, hvilket klassificeres som Alvorlig. Det er en høj score, og det skyldes især:
- Ingen login krævet — angrebets tærskel er meget lav
- Angrebet sker over nettet — fra hele verden, automatiseret
- Lav kompleksitet — selv mindre erfarne angribere kan udnytte det med kendte værktøjer
- Høj fortrolighedsrisiko — hele databasens indhold kan potentielt eksponeres
Samlet set er dette en sårbarhed, der kræver hurtig handling.
Hvad gør jeg nu?
Du skal handle hurtigt. Her er hvad du konkret gør:
- Tjek din Joomla-installation — log ind i dit Joomla-backend og find ud af, om du har JHotelReservation installeret, og hvilken version det er.
- Opdater eller afinstaller plugin’et — undersøg om der er en opdateret version af JHotelReservation tilgængelig, og opdater straks. Er der ingen opdatering, bør du deaktivere og afinstallere plugin’et midlertidigt.
- Kontakt din webmaster eller IT-leverandør — hvis du ikke selv administrerer dit website, kontakt den ansvarlige og bed dem handle inden for 24 timer.
- Gennemgå dine logfiler — bed din IT-leverandør kigge i serverlogfiler for mistænkelig aktivitet mod søgefunktionen (søg på POST-anmodninger til søge-endpointet).
- Vurder om data er kompromitteret — hvis du mistænker et brud, skal du ifølge GDPR underrette Datatilsynet inden for 72 timer og informere berørte kunder.
Handl inden for 24 timer
Vi anbefaler, at du straks deaktiverer JHotelReservation-plugin’et på dit Joomla-site, indtil en opdateret og sikker version er tilgængelig. Sårbarheden er nem at udnytte og kræver intet login, hvilket gør den attraktiv for automatiserede angreb. Kontakt os gerne, hvis du er usikker på om dit site er berørt, eller hvis du har brug for hjælp til at vurdere omfanget af en eventuel eksponering.
Tidslinje
Konkrete eksempler
Automatiseret databaseudtræk
En angriber bruger et automatiseret SQL-injection-værktøj (fx sqlmap, som er frit tilgængeligt online) og sender tusindvis af anmodninger til dit hotels bookingformular. Inden for få minutter har værktøjet kortlagt din database og eksporteret alle kundenavne, e-mailadresser, telefonnumre og reservationshistorik. Du opdager ingenting, fordi der ikke sker nogen synlig fejl på websitet.
Credential harvesting til videresalg
En angriber udtrækker loginoplysninger fra din Joomla-database — herunder administratorens brugernavn og krypterede adgangskode. Hvis koden er svagt krypteret eller genbrugt, kan angriberen få fuld kontrol over dit website eller forsøge de samme loginoplysninger på din e-mail og netbank. Stjålne logindata sælges ofte videre på mørke netværk (dark web).
Målrettet phishing med stjålne data
En hacker trækker kundelisten ud fra din reservationsdatabase og sender herefter falske e-mails til alle dine gæster, der udgiver sig for at være dig. E-mails indeholder et link til en falsk betalingsside, der ser ud som din. Fordi hackeren kender gæsternes rigtige reservationsdetaljer, virker beskeden troværdig, og mange klikker. Resultatet er svindel begået i dit navn, og du hæfter for tilliden dine kunder mister.
Ofte stillede spørgsmål
Hvad er SQL-injection, og hvorfor er det farligt?
SQL-injection er en angrebsmetode, hvor en hacker indsætter skadelig kode i et inputfelt på et website — fx en søgeboks. Hvis websitet ikke tjekker inputtet ordentligt, sender det koden videre til databasen, som derefter udfører den. Det svarer til, at en fremmed kan give ordrer direkte til din arkiv-medarbejder ved at snige en seddel ind i postkassen. Resultatet kan være, at hackeren kan læse, ændre eller slette data i din database.
Kan jeg se, om nogen allerede har udnyttet sårbarheden mod mit site?
Det kræver, at din IT-leverandør eller webmaster gennemgår serverlogfilerne. Mistænkelig aktivitet vil typisk vise sig som usædvanlige POST-anmodninger til bookingsøgningens URL med lange eller mærkelige tegn i feltet for antal rum. Vi anbefaler at lade en tekniker kigge på dette med det samme, da angreb kan have fundet sted uden synlige tegn for dig som bruger.
Skal jeg underrette mine kunder, hvis data er lækket?
Ja — ifølge GDPR er du forpligtet til at underrette Datatilsynet inden for 72 timer, hvis du har mistanke om et persondata-brud. Er der tale om en høj risiko for de berørte personer, skal du også underrette kunderne direkte. Tag fat i en jurist eller databeskyttelsesrådgiver, hvis du er usikker på din konkrete forpligtelse.
Hjælper en firewall eller anden sikkerhedssoftware?
En WAF (Web Application Firewall — et filter der overvåger og blokerer skadelig webtrafik) kan i mange tilfælde blokere SQL-injection-forsøg og dermed reducere risikoen midlertidigt. Det er dog ikke en permanent løsning og erstatter ikke en opdatering af plugin’et. Tal med din IT-leverandør om at aktivere en WAF som et midlertidigt beskyttelseslag.
Hvad gør jeg, hvis der ikke findes en opdatering til plugin'et?
Hvis leverandøren bag JHotelReservation ikke har udgivet en sikkerhedsopdatering, bør du straks deaktivere og afinstallere plugin’et. Herefter kan du undersøge alternative bookingløsninger, der er aktivt vedligeholdt og støttet af leverandøren. Det er aldrig sikkert at beholde et plugin med en kritisk, urettet sårbarhed på et offentligt website.
Ramte produkter
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
Joomla JHotelReservation 6.0.7 contains an SQL injection vulnerability that allows unauthenticated attackers to execute arbitrary SQL queries by injecting malicious code through the rooms parameter. Attackers can send POST requests to the search-hotels endpoint with crafted SQL payloads in the rooms parameter to extract sensitive database information including version details.
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.
