CVE-2017-20261: SQL-indsprøjtning i Joomla Bargain Product VM3
SQL-indsprøjtning i Joomla-tillægget Bargain Product VM3 lader angribere hente data uden login. Fjern eller isolér komponenten nu.
Hvad er det?
CVE-2017-20261 er en sårbarhed i Joomla-tillægget Bargain Product VM3 version 1.0, som bruges sammen med webshop-modulet VirtueMart. Fejlen er SQL-indsprøjtning, hvor en angriber kan indsætte egne databasekommandoer i et almindeligt webkald. Parameteren product_id bliver ikke renset korrekt, når den sendes til visningerne brainy og alice, så en angriber kan sende en manipuleret GET-forespørgsel og få webshoppens database til at udlevere data, den ikke burde.
Hvem rammer det?
Det rammer danske virksomheder, der driver en webshop i Joomla med VirtueMart og har installeret tillægget Bargain Product VM3 i version 1.0. Typisk er det mindre webshops, der har fået komponenten sat op af et webbureau for flere år siden, og hvor ingen længere holder øje med, om tillægget stadig er i brug.
Hvad kan ske?
En angriber kan uden at logge ind læse indhold fra databasen bag webshoppen, for eksempel kundeoplysninger, ordredata eller adgangskodehash. Angrebet kan ikke ændre data eller lægge shoppen ned, men det kan afsløre personoplysninger, hvilket i sig selv kan udløse en anmeldelsespligtig sikkerhedsbrist efter databeskyttelsesreglerne.
Hvor alvorligt er det?
CVSS-score er 8,2 ud af 10, hvilket er alvorligt. Angrebet kræver ikke login, ingen handling fra en bruger, og kan udføres over internettet mod webserveren direkte. Det gør det billigt for en angriber at afsøge og udnytte. Der er ikke oplysninger om, at sårbarheden er udnyttet i konkrete angreb, men detaljerne om de sårbare parametre og views er offentligt beskrevet, så en angriber kan bygge et angreb uden meget forarbejde.
Hvad gør jeg nu?
Gennemgå jeres Joomla-installation, og prioriter i denne rækkefølge:
- Find ud af, om Bargain Product VM3 er installeret, og fjern eller deaktiver komponenten, hvis I ikke aktivt bruger den.
- Kan I ikke fjerne den, så blokér adgang til views’ene brainy og alice på webserverniveau eller via en webapplikationsfirewall.
- Gennemgå webserverlogs for GET-forespørgsler med usædvanlige tegn i product_id, som kan være tegn på tidligere udnyttelse.
- Skift adgangskoder til databasen og relevante brugerkonti, hvis logs viser tegn på misbrug.
- Vurder, om personoplysninger kan være kompromitteret, og involver jeres databeskyttelsesansvarlige.
- Er I i tvivl om, hvordan komponenten hænger sammen med resten af jeres Joomla-opsætning, så få hjælp fra en udvikler eller sikkerhedsrådgiver til at fjerne den sikkert.
Fjern eller blokér inden for 72 timer
Vi anbefaler, at I fjerner Bargain Product VM3, hvis komponenten ikke er i aktiv brug, da der ikke findes en opdatering fra udvikleren. Bruger I den stadig, bør adgangen til de sårbare views blokeres, mens I finder et alternativ. Det er kun forsvarligt at vente, hvis I med sikkerhed kan dokumentere, at komponenten aldrig er blevet installeret på jeres Joomla-side.
Tidslinje
Konkrete eksempler
Webshop med forældet rabatmodul
En dansk webshop kører Joomla med VirtueMart og har for flere år siden fået installeret Bargain Product VM3 til at vise rabatpriser. Ingen i virksomheden har siden holdt øje med komponenten. En angriber finder shoppen, sender en manipuleret forespørgsel til brainy-visningen og trækker kundetabellen ud af databasen uden at skulle logge ind.
Ofte stillede spørgsmål
Hvordan finder vi ud af, om vi bruger denne komponent?
Log ind i Joomla-administrationen, og se under installerede komponenter eller udvidelser efter Bargain Product VM3. Er den ikke i listen, er I ikke ramt af denne konkrete sårbarhed.
Er der en officiel opdatering, vi kan installere?
Der er ikke oplyst nogen opdatering fra udvikleren af komponenten. Den mest sikre løsning er derfor at fjerne komponenten helt eller blokere adgangen til de sårbare views.
Kan vi vente til efter en planlagt vedligeholdelse i næste uge?
Vi anbefaler ikke det. Angrebet kræver ikke login og kan udføres af enhver, der finder webshoppen på nettet, så vinduet for misbrug er åbent, indtil komponenten er fjernet eller blokeret.
Skal vi anmelde det til Datatilsynet?
Kun hvis I finder tegn på, at data faktisk er blevet hentet ud, og de data indeholder personoplysninger. Gennemgå logs først for at afklare, om der har været konkret misbrug.
Kan angrebet også lægge webshoppen ned?
Nej, sårbarheden giver kun mulighed for at læse data fra databasen, ikke at slette eller ændre den, og den kan ikke bruges til at lukke shoppen ned.
Vi bruger VirtueMart, men er vi automatisk ramt?
Nej, sårbarheden sidder specifikt i tillægget Bargain Product VM3 version 1.0. Bruger I VirtueMart uden dette tillæg, er I ikke ramt af denne CVE.
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.
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.