CVE-2017-20261: SQL-injektion i Joomla Bargain Product VM3
Kritisk SQL-injektionsfejl i Joomla-tilføjelse giver hackere adgang til din database uden login.
Hvad er det?
CVE-2017-20261 er en sikkerhedsfejl i Joomla-tilføjelsen (plugin) kaldet Bargain Product VM3 version 1.0. Fejlen er en såkaldt SQL-injektion (en type angreb hvor en hacker sniger ondsindet kode ind i databaseforespørgsler) gennem et felt kaldet product_id. Det betyder, at en angriber kan sende særligt udformede webanmodninger til din hjemmeside og dermed tvinge databasen til at udlevere oplysninger, den ikke må. Ingen login eller særlige rettigheder er nødvendige for at udføre angrebet.
Hvem rammer det?
Sårbarheden rammer dig, hvis du driver en Joomla-baseret hjemmeside med VirtueMart-webshop og har installeret tilføjelsen Bargain Product VM3 version 1.0. Det drejer sig typisk om mindre webshops og foreninger, der bruger Joomla som platform. Har du ikke denne specifikke tilføjelse installeret, er du ikke i fare.
Hvad kan ske?
En angriber kan uden at logge ind hente følsomme oplysninger direkte fra din database — herunder:
- Kundeoplysninger som navne, adresser og e-mails
- Ordrehistorik og betalingsdata
- Brugernavne og krypterede adgangskoder til hjemmesidens administratorer
- Andre fortrolige forretningsdata gemt i databasen
Der er desuden risiko for mindre ændringer i databaseindholdet. Et databrud kan udløse krav om anmeldelse til Datatilsynet under GDPR og føre til bøder eller tab af kundetillid.
Hvor alvorligt er det?
Sårbarheden er vurderet til 8,2 ud af 10 (Alvorlig) af det internationale sikkerhedssystem CVSS. Den scorer højt, fordi:
- Angrebet kan udføres over internettet — uden fysisk adgang
- Det kræver ingen teknisk snilde eller forudgående adgang
- Der kræves ingen handling fra dig eller dine brugere for at angrebet lykkes
- Fortrolige data kan kompromitteres i stort omfang
Risikoen for dit systems tilgængelighed vurderes dog som lav, da angrebet primært handler om at læse data, ikke lamme systemet.
Hvad gør jeg nu?
Følg disse trin for at beskytte din hjemmeside hurtigst muligt:
- Undersøg om du bruger tilføjelsen — log ind på dit Joomla-kontrolpanel og tjek listen over installerede tilføjelser/komponenter efter “Bargain Product VM3”.
- Deaktiver eller slet tilføjelsen straks — hvis du finder den, så deaktiver den med det samme, indtil en opdatering er tilgængelig. Bruges den aktivt, find en alternativ løsning.
- Tjek dine logfiler — gennemgå serverlogfiler for mistænkelig aktivitet, særligt GET-forespørgsler mod “brainy” og “alice”-visningerne.
- Skift administratoradgangskoder — som en sikkerhedsforanstaltning bør du ændre adgangskoder til alle Joomla-administratorer.
- Vurder om der har været et databrud — har du kundedata i systemet, overvej om du er forpligtet til at anmelde hændelsen til Datatilsynet inden for 72 timer.
- Kontakt din IT-leverandør — hvis du er i tvivl om noget af ovenstående, få hjælp fra en fagperson.
Handle inden for 24-48 timer
Da der på nuværende tidspunkt ikke foreligger en officiel opdatering til tilføjelsen, anbefaler vi, at du fjerner Bargain Product VM3 fra din Joomla-installation øjeblikkeligt. Sårbarhedens alvor og lave angrebskompleksitet gør det uforsvarligt at lade tilføjelsen forblive aktiv. Har du behov for lignende funktionalitet, bør du finde en alternativ tilføjelse fra en leverandør, der aktivt vedligeholder sin kode. Overvej også at gennemgå alle øvrige tilføjelser på din hjemmeside for at sikre, at de er opdaterede.
Tidslinje
Konkrete eksempler
Udtræk af kundeliste via webadresse
En angriber besøger din Joomla-webshop og tilføjer ondsindet SQL-kode til webadressen i feltet “product_id” — for eksempel: ?product_id=1 UNION SELECT email,password FROM jos_users–. Databasen opfatter dette som en gyldig forespørgsel og returnerer alle brugernavne og krypterede adgangskoder fra administratortabellen direkte i browservinduet. Ingen login er nødvendigt.
Automatiseret scanning og masseudtræk
En hacker bruger et automatiseret angrebsværktøj (såsom sqlmap) til at scanne tusindvis af Joomla-hjemmesider for den sårbare tilføjelse. Når en sårbar side findes, hentes hele databasen automatisk på få minutter — inklusive kundedata, ordrer og administratoroplysninger. Dataene kan efterfølgende sælges på kriminelle markeder eller bruges til afpresning.
Springbræt til administratoradgang
Via SQL-injektionen udtrækker en angriber den krypterede adgangskode for en Joomla-administrator. Adgangskoden forsøges knækket med et adgangskode-gætteprogram (brute force). Lykkes det, logger angriberen ind som administrator og kan installere yderligere skadelig kode, ændre hjemmesidens indhold eller oprette bagdøre til fremtidige angreb.
Ofte stillede spørgsmål
Kan jeg se om nogen allerede har udnyttet fejlen på min hjemmeside?
Ja, delvist. Du kan bede din hostingudbyder om adgang til serverens adgangslogfiler (access logs) og søge efter usædvanlige forespørgsler mod sider der indeholder “product_id”-parametren, særligt med tegn som apostrof (‘), gåseøjne eller SQL-nøgleord som SELECT og UNION. Har du ingen erfaring med loganalyse, kan en IT-sikkerhedskonsulent hjælpe dig.
Er mine kunders betalingsoplysninger i fare?
Det afhænger af hvad din database indeholder. Kortoplysninger må ikke gemmes i klartekst ifølge betalingsstandarderne (PCI-DSS), og er du koblet til en ekstern betalingsgateway, er selve kortdata formentlig ikke i din database. Derimod kan kundenavne, adresser, e-mails og ordrehistorik være i fare. Gennemgå hvad din database reelt indeholder, og vurder om der er grundlag for en GDPR-anmeldelse.
Hvad er en SQL-injektion, og hvorfor er det farligt?
En SQL-injektion er en angrebsmetode, hvor en hacker indsætter ondsindet kode i et inputfelt eller en webadresse. Hvis hjemmesiden ikke filtrerer inputtet korrekt, tror databasen, at koden er en legitim kommando og udfører den. Det kan give angriberen fuld læseadgang til databasen — eller i værste fald mulighed for at ændre eller slette data.
Behøver jeg anmelde dette til Datatilsynet?
Du er forpligtet til at anmelde et databrud til Datatilsynet inden for 72 timer, hvis bruddet sandsynligvis medfører risiko for de registreredes rettigheder og friheder — for eksempel hvis persondata om kunder er kompromitteret. Hvis du opdager tegn på udnyttelse, eller ikke kan afvise det, bør du kontakte en juridisk rådgiver eller Datatilsynet direkte for at vurdere din anmeldepligt.
Kan min firewall eller sikkerhedsplugin beskytte mig i mellemtiden?
En webapplikationsfirewall (WAF) kan i nogen grad blokere kendte SQL-injektionsmønstre og fungere som et midlertidigt beskyttelseslag. Det er dog ikke en garanti — avancerede angribere kan omgå sådanne filtre. En WAF er en nødløsning, mens du arbejder på at fjerne den sårbare tilføjelse, ikke en permanent erstatning for en opdatering.
Hvilke versioner er berørt, og er der en opdateret version?
Ifølge de tilgængelige oplysninger er version 1.0 af Bargain Product VM3 berørt. Der er på nuværende tidspunkt ikke registreret nogen officiel opdatering eller patch fra udvikleren. Tjek tilføjelsens officielle side i Joomla Extensions Directory for eventuelle nye versioner, og overvej at kontakte udvikleren direkte.
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! Component Bargain Product VM3 1.0 contains an SQL injection vulnerability that allows unauthenticated attackers to execute arbitrary SQL queries by injecting malicious code through the product_id parameter. Attackers can supply crafted SQL statements in GET requests to the brainy and alice views to extract sensitive database information.
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.
