CVE-2019-25761: SQL-injection i JoomCRM til Joomla
SQL-injection i Joomla-komponenten JoomCRM 1.1.1 lader logget-ind bruger hente data fra databasen via deal_id-parameteren.
Hvad er det?
SQL-injection er en teknik, hvor en angriber indsætter skadelig databasekode i et almindeligt inputfelt eller en webadresse, så den bliver udført af serveren i stedet for kun at blive behandlet som data. I JoomCRM 1.1.1, en tredjeparts CRM-udvidelse (kundehåndteringssystem) til Joomla, kan en bruger, der allerede er logget ind, indsætte skadelig kode i parameteren deal_id på siden com_joomcrm&view=contacts. Det giver adgang til at trække tabelnavne, databasestruktur og andre følsomme oplysninger direkte fra databasen, uden at det kræver særlige rettigheder eller nogen handling fra andre brugere.
Hvem rammer det?
Sårbarheden rammer Joomla-websider, der har installeret komponenten JoomCRM i version 1.1.1. Det gælder typisk mindre og mellemstore virksomheder, der bruger Joomla som CMS og JoomCRM til at håndtere kundekontakter, leads eller salgsaftaler direkte på hjemmesiden. Alle brugere med en gyldig, om end lavt privilegeret, login til Joomla-administrationen eller den del af sitet, hvor JoomCRM er tilgængelig, kan udnytte fejlen.
Hvad kan ske?
En angriber, der har fået adgang til en almindelig brugerkonto, kan udtrække kundeoplysninger, kontaktdata og databasens opbygning. Det giver et solidt afsæt til yderligere angreb, for eksempel identitetstyveri af kunder eller målrettet phishing baseret på ægte kundeoplysninger. Fejlen giver ikke mulighed for at ændre data eller lukke systemet ned, men fortroligheden af kundedata er i høj grad truet.
Hvor alvorligt er det?
CVSS-score er 7,1 ud af 10, hvilket er alvorligt. Angrebet kræver et gyldigt login med lave rettigheder (PR:L), men ingen handling fra andre brugere og ingen adgang til det interne netværk udover almindelig webadgang. Konsekvensen er høj læseadgang til fortrolige data (C:H), mens der ikke er risiko for at ændre data i nævneværdig grad eller lægge systemet ned. Der er ikke rapporteret aktiv udnyttelse i den offentlige beskrivelse, men angrebsmetoden er beskrevet så detaljeret, at den kan gengives uden videre teknisk arbejde.
Hvad gør jeg nu?
Følgende skridt lukker hullet og begrænser skaden, hvis komponenten allerede er i brug:
- Fjern eller deaktivér JoomCRM 1.1.1, hvis komponenten ikke er kritisk for driften, indtil en opdateret version findes.
- Undersøg om der findes en nyere version af JoomCRM fra leverandøren, og opgradér til denne, hvis den findes.
- Gennemgå brugerlisten i Joomla, og fjern eller nedgrader konti, der ikke har brug for adgang til CRM-modulet.
- Sæt en webapplikationsfirewall op, der filtrerer typiske SQL-injection-mønstre i URL-parametre som deal_id, som en midlertidig beskyttelse.
- Gennemgå logfiler for usædvanlige forespørgsler mod com_joomcrm&view=contacts med afvigende deal_id-værdier.
- Kontakt en sikkerhedsrådgiver, hvis I ikke selv kan afgøre, om komponenten er i brug, eller om data allerede er blevet udtrukket.
Fjern eller opdatér komponenten hurtigst muligt
Vi anbefaler, at I straks kortlægger, om JoomCRM 1.1.1 er i brug på jeres Joomla-installationer, og fjerner komponenten, hvis den ikke er nødvendig for driften. Er komponenten forretningskritisk, bør I indføre en webapplikationsfirewall som midlertidig beskyttelse, mens I undersøger, om leverandøren har udgivet en rettet version. Det er kun forsvarligt at vente, hvis I kan dokumentere, at komponenten ikke er installeret eller ikke er tilgængelig for brugere med login.
Tidslinje
Konkrete eksempler
Kundedata lækket fra dansk håndværksvirksomhed
En mindre dansk håndværksvirksomhed bruger Joomla med JoomCRM til at holde styr på kundeaftaler og tilbud. En medarbejders konto med almindelige rettigheder bliver kompromitteret via et svagt kodeord. Angriberen udnytter derefter SQL-injection i deal_id-parameteren til at hente hele kundedatabasen, herunder navne, adresser og aftaledetaljer, som senere bruges til målrettede phishing-mails mod virksomhedens kunder.
Ofte stillede spørgsmål
Bruger vi JoomCRM, og er vi ramt?
Tjek jeres Joomla-administration under Komponenter for at se, om JoomCRM er installeret, og hvilken version der kører. Er versionen 1.1.1 eller ældre, er I sandsynligvis ramt.
Kræver angrebet, at hackeren er administrator?
Nej. Sårbarheden kan udnyttes af en almindelig bruger med lave rettigheder, så længe brugeren er logget ind på systemet. Det gør fejlen mere udbredt end sårbarheder, der kræver administratoradgang.
Kan vi vente til efter weekenden med at handle?
Det afhænger af, hvor mange brugere der har adgang til systemet, og hvor følsomme kundedata er. Er der mange brugerkonti eller følsomme persondata i CRM-modulet, bør I handle inden weekenden.
Findes der en opdatering, der løser problemet?
Der er ikke fundet en officiel rettet version i den offentlige beskrivelse af sårbarheden. Vi anbefaler at kontakte leverandøren direkte eller overveje at fjerne komponenten, hvis ingen rettelse foreligger.
Skal vi anmelde dette til Datatilsynet?
Hvis I finder tegn på, at kundedata er blevet udtrukket via denne sårbarhed, kan det udgøre et databrud, som skal anmeldes efter reglerne om persondatabeskyttelse. Kontakt jeres databeskyttelsesrådgiver for en konkret vurdering.
Hvordan opdager vi, om data allerede er blevet stjålet?
Gennemgå webserverens logfiler for forespørgsler mod index.php med option=com_joomcrm&view=contacts, hvor deal_id-parameteren indeholder usædvanlige tegn som anførselstegn eller SQL-kommandoer.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
Joomla! Component JoomCRM 1.1.1 contains an SQL injection vulnerability that allows authenticated attackers to execute arbitrary SQL queries by injecting malicious code through the deal_id parameter. Attackers can send GET requests to index.php with option=com_joomcrm&view=contacts and inject SQL code in the deal_id parameter to extract sensitive database information including table names and schemas.
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.