CVE-2017-20282: SQL injection i jCart til Joomla!
Sårbarhed i Joomla!-komponenten jCart giver hackere adgang til din database uden login.
Hvad er det?
CVE-2017-20282 er en SQL-injection-sårbarhed (en angrebsmetode hvor ondsindet kode smugles ind i databaseforespørgsler) i jCart-komponenten til OpenCart 2.0. Komponenten bruges til at integrere en indkøbskurv på Joomla!-drevne webshops. Fejlen sidder i parameteret product_id, som ikke validerer brugerinput korrekt. Det betyder, at en angriber kan sende særligt udformede webadresser til din server og dermed læse fortrolige data direkte fra din database — helt uden at have et brugernavn eller kodeord.
Hvem rammer det?
Sårbarheden rammer virksomheder, der driver en webshop bygget på Joomla! med jCart-komponenten til OpenCart 2.0 installeret. Det er typisk mindre og mellemstore webshops, der har brugt denne kombination til at håndtere produktsider og indkøbskurv. Hvis du er usikker på, om du bruger denne komponent, bør du spørge din webudvikler eller hostingudbyder.
Hvad kan ske?
En angriber kan udtrække følsomme oplysninger fra din database — det kan inkludere kundeoplysninger (navne, adresser, e-mails), ordrehistorik, hash-kodede adgangskoder og potentielt betalingsrelaterede data. Angriberen behøver ingen adgangskoder og kan udføre angrebet automatiseret via simple HTTP-forespørgsler. Der er også en begrænset risiko for, at data kan manipuleres. Konsekvenserne kan være brud på GDPR (databeskyttelsesforordningen), tab af kundernes tillid og potentielle bøder.
Hvor alvorligt er det?
Sårbarheden er vurderet til 8,2 ud af 10 (Alvorlig) af CVSS-systemet (en international standard for sårbarhedsvurdering). Den er særligt bekymrende fordi:
- Angrebet kan udføres over internettet uden login
- Det kræver ingen teknisk hjælp fra brugere på din side
- Det er lavt komplekst — selv uerfarne angribere kan udnytte det med offentligt tilgængeligt værktøj
- Fortrolighedsbruddet er vurderet som højt (C=HIGH)
Hvad gør jeg nu?
Handle nu for at beskytte din webshop og dine kunders data:
- Find ud af om du er ramt: Spørg din webudvikler eller hostingudbyder, om din Joomla!-installation bruger jCart-komponenten til OpenCart 2.0.
- Opdater eller fjern komponenten: Tjek om der findes en opdateret version af jCart uden sårbarheden. Bruges komponenten ikke aktivt, bør den afinstalleres straks.
- Begræns adgangen midlertidigt: Overvej at blokere adgang til det sårbare endpoint (
index.php?option=com_jcart&route=product/product) via din webservers konfiguration eller en WAF (web application firewall — et sikkerhedslag foran din hjemmeside). - Gennemgå dine logs: Bed din tekniker om at kigge i serverlogsene for mistænkelige forespørgsler med
product_id-parameteret for at vurdere, om der allerede har været forsøg på angreb. - Vurder GDPR-pligten: Hvis du har mistanke om, at data er blevet tilgået uretmæssigt, skal du vurdere om det udløser en indberetningspligt til Datatilsynet inden for 72 timer.
Opdater hurtigst muligt
Vi anbefaler, at du straks kontakter din webudvikler og får verificeret, om jCart-komponenten er installeret på din Joomla!-webshop. Hvis den er det, bør den enten opdateres til en sikker version eller fjernes, indtil en patch er tilgængelig. Overvej desuden at installere en web application firewall (WAF) som et generelt sikkerhedslag på din webshop — det reducerer risikoen for denne type angreb markant.
Tidslinje
Konkrete eksempler
Udtrækning af kundedata via URL
En angriber sender en manipuleret URL til din webshop, f.eks. index.php?option=com_jcart&route=product/product&product_id=1 UNION SELECT username,password FROM jos_users--. Serveren behandler forespørgslen som en legitim databasekommando og returnerer brugernavne og adgangskoder fra din Joomla!-brugerdatabase direkte til angriberen.
Automatiseret scanning af tusindvis af webshops
Kriminelle benytter automatiserede scanningsværktøjer til at gennemsøge internettet for Joomla!-installationer med jCart aktiveret. Når de finder en sårbar webshop, igangsættes et automatisk angreb, der udtrækker hele kundelisten på få minutter — uden at butiksejeren opdager det.
Tyveri af hashede adgangskoder til videre angreb
Via SQL injection henter en angriber de hashede (krypterede) adgangskoder fra din database. Med moderne cracking-software kan mange af disse knækkes på kort tid. De kompromitterede adgangskoder kan derefter bruges til at angribe dine kunders e-mail-konti eller andre tjenester, hvor de bruger samme kodeord.
Ofte stillede spørgsmål
Hvad er SQL injection, og hvorfor er det farligt?
SQL injection er en teknik, hvor en angriber smugler ondsindet databasekode ind i et normalt felt eller parameter på en hjemmeside. Hvis systemet ikke tjekker inputtet ordentligt, behandles den ondsindede kode som en legitim databasekommando — og angriberen kan dermed læse, ændre eller slette data i din database.
Kan jeg selv tjekke om min webshop er sårbar?
Du kan starte med at logge ind på din Joomla!-backend og gå til udvidelsesadministratoren for at se, om jCart er installeret. Er du ikke teknisk kyndig, anbefaler vi at kontakte din webudvikler, som hurtigt kan bekræfte det og vurdere risikoen.
Skal jeg indberette dette til Datatilsynet?
Kun hvis du har konkrete tegn på, at persondata faktisk er blevet tilgået eller stjålet. En ren sårbarhed uden udnyttelse kræver ikke nødvendigvis indberetning. Men opdager du mistænkelig aktivitet i dine logs, bør du kontakte en juridisk rådgiver eller Datatilsynet inden for 72 timer — det er et GDPR-krav.
Hvad er risikoen, hvis jeg ikke gør noget?
Hvis sårbarheden ikke lukkes, risikerer du, at kundedata — navne, e-mails, adresser og måske adgangskoder — bliver stjålet. Det kan medføre bøder fra Datatilsynet, erstatningskrav fra kunder og alvorlig skade på din virksomheds omdømme.
Virker min normale antivirus eller firewall imod dette angreb?
Nej, traditionel antivirus og netværksfirewalls beskytter ikke imod SQL injection-angreb, da de sker via helt normale HTTP-forespørgsler til din webshop. Du skal bruge en web application firewall (WAF) og sikre, at din webapplikation validerer al brugerinput korrekt.
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 jCart for OpenCart 2.0 contains an SQL injection vulnerability that allows unauthenticated attackers to manipulate database queries by injecting SQL code through the product_id parameter. Attackers can send GET requests to index.php with the option=com_jcart&route=product/product parameters and malicious product_id values 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.
