CVE-2017-20255: SQL-injection i Joomla JB Visa 1.0
SQL-indsprøjtning i Joomla-komponenten JB Visa 1.0 lader angribere uden login hente data fra databasen. Fjern eller opdatér komponenten.
Hvad er det?
CVE-2017-20255 er en SQL-indsprøjtning, en teknik hvor en angriber snyder databasen til at udføre kommandoer ved at putte kode ind i et almindeligt formularfelt eller en webadresse. Fejlen sidder i Joomla-tilføjelsen JB Visa version 1.0, som bruges til at håndtere visumansøgninger på hjemmesider. Angriberen sender en almindelig GET-forespørgsel til index.php med parametrene option=com_bookpro og view=popup, og indsætter derefter skadelig SQL-kode i feltet visatype. Fordi komponenten ikke renser input ordentligt, bliver koden udført direkte af databasen, og angriberen kan trække data ud som brugernavne, adgangskoder og øvrigt tabelindhold.
Hvem rammer det?
Det rammer Joomla-hjemmesider, der har installeret komponenten JB Visa i version 1.0. Komponenten bruges typisk af rejsebureauer, visumbureauer og virksomheder, der lader kunder ansøge om visum online. Er JB Visa ikke installeret, er jeres site ikke ramt af denne konkrete sårbarhed.
Hvad kan ske?
En angriber kan uden at logge ind hente indhold fra jeres database, herunder kundedata, adgangskoder til administratorkonti og andre følsomme oplysninger. Med adgangskoder i hånden kan angriberen ofte logge ind som administrator og overtage hele Joomla-installationen. For en dansk virksomhed betyder det risiko for lækage af persondata, som skal anmeldes til Datatilsynet, samt risiko for at hjemmesiden bruges til videre angreb eller ombygges til svindel.
Hvor alvorligt er det?
CVSS-score er 8,2 ud af 10, hvilket er alvorligt. Angrebet kræver ingen login og ingen handling fra en bruger, det foregår over almindelig netværkstrafik og er nemt at udføre teknisk. Konsekvensen er høj risiko for at fortrolige data lækkes, mens angriberen ikke kan ændre data i høj grad eller lukke systemet ned. Der er ikke fundet officielle oplysninger om aktiv udnyttelse i den danske del af internettet, men den tekniske beskrivelse er detaljeret nok til, at et færdigt angrebsværktøj hurtigt kan laves.
Hvad gør jeg nu?
Der findes ingen officiel opdatering fra leverandøren af JB Visa. Følg derfor disse skridt:
- Deaktivér eller afinstallér komponenten JB Visa fra jeres Joomla-installation, indtil en sikker version findes.
- Gennemgå adgangslogs for usædvanlige forespørgsler mod index.php med option=com_bookpro, så I kan se, om komponenten allerede er blevet udnyttet.
- Skift adgangskoder til alle administratorkonti og databasebrugere, hvis I finder tegn på misbrug.
- Sæt en webapplikationsfirewall op foran Joomla-sitet som midlertidig beskyttelse mod SQL-indsprøjtning, hvis komponenten ikke kan fjernes med det samme.
- Undersøg om der findes et alternativ til JB Visa fra en aktiv leverandør, og planlæg udskiftning af komponenten permanent.
- Kontakt en sikkerhedsrådgiver, hvis I finder spor af databrud, eller hvis I er i tvivl om, hvordan komponenten fjernes uden at ødelægge sitet.
Fjern komponenten i dag
Vi anbefaler, at I fjerner eller deaktiverer JB Visa 1.0 med det samme, da der ikke findes en officiel rettelse. Er komponenten en del af en forretningskritisk løsning, bør I i mellemtiden skærme den med en webapplikationsfirewall og overvåge logs tæt. Det er kun forsvarligt at vente, hvis komponenten allerede er taget ud af drift eller isoleret fra internettet.
Tidslinje
Konkrete eksempler
Rejsebureau med visumformular på Joomla
Et dansk rejsebureau bruger Joomla med JB Visa til at lade kunder ansøge om visum online. En angriber finder komponenten via en automatisk scanning, sender en manipuleret forespørgsel til visatype-parameteren og trækker kundelisten med navne, pas-numre og administratorens adgangskode ud af databasen. Bureauet opdager først hændelsen, da kundedata dukker op til salg, og skal efterfølgende anmelde databruddet til Datatilsynet.
Ofte stillede spørgsmål
Hvordan ved vi, om vi bruger JB Visa 1.0?
Tjek jeres Joomla-administrationspanel under Komponenter, eller søg i filsystemet efter mappen com_bookpro. Findes komponenten, og er versionen 1.0, er I ramt.
Kan vi vente med at reagere til efter weekenden?
Nej. Angrebet kræver ingen login og kan udføres automatisk af scanningsværktøjer, så jo længere komponenten kører, desto længere er databasen eksponeret.
Hvordan tjekker vi, om vi allerede er blevet angrebet?
Gennemgå webserverens adgangslogs for forespørgsler mod index.php, der indeholder option=com_bookpro, view=popup og usædvanlige tegn i visatype-parameteren, som citationstegn eller SQL-nøgleord.
Skal vi anmelde noget til Datatilsynet?
Hvis I finder tegn på, at persondata er blevet trukket ud af databasen, skal I vurdere anmeldelsespligt efter databeskyttelsesforordningen og som udgangspunkt anmelde inden for 72 timer.
Findes der en opdatering fra leverandøren?
Der er ikke offentliggjort en officiel rettelse til JB Visa 1.0. Den sikreste løsning er at fjerne komponenten og finde et alternativ.
Er hele Joomla-installationen sårbar, eller kun komponenten?
Kun komponenten JB Visa er berørt af denne konkrete fejl, men da databasen deles med resten af Joomla-installationen, kan en angriber ramme hele sitet gennem den ene sårbare komponent.
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 JB Visa 1.0 contains an SQL injection vulnerability that allows unauthenticated attackers to execute arbitrary SQL queries by injecting malicious code through the visatype parameter. Attackers can send GET requests to index.php with the option=com_bookpro and view=popup parameters, injecting SQL commands in the visatype parameter to extract sensitive database information including credentials and table contents.
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.