CVE-2017-20280: SQL-injection i Joomla Myportfolio 3.0.2
SQL-injection i Joomla-udvidelsen Myportfolio 3.0.2 lader uautoriserede hente databaseoplysninger. Fjern eller deaktivér komponenten nu.
Hvad er det?
CVE-2017-20280 er en SQL-injection sårbarhed i tredjeparts-komponenten Myportfolio version 3.0.2 til Joomla CMS. SQL-injection betyder, at en angriber kan indsætte egen databasekode i en webadresse og dermed få systemet til at udføre uautoriserede forespørgsler mod databasen. Fejlen ligger i parameteren pid, som bruges i endpointet index.php med task=project og view=grid. En angriber kan sende en almindelig GET-forespørgsel med skadelig kode i pid-parameteren og trække data ud af databasen uden at logge ind.
Hvem rammer det?
Det rammer danske virksomheder, foreninger og freelancere, der driver en Joomla-baseret hjemmeside med komponenten Myportfolio version 3.0.2 installeret, typisk brugt til at vise porefolio- eller projektsider. Det gælder uanset hvilken version af Joomla selve komponenten kører på. Er komponenten ikke installeret eller allerede fjernet, er sårbarheden ikke relevant.
Hvad kan ske?
En angriber kan uden login hente følsomme oplysninger fra databasen, for eksempel brugernavne, adgangskode-hashes, kundeoplysninger eller andre data, der ligger i samme database som Joomla-installationen. Oplysningerne kan bruges til videre angreb, som at logge ind med stjålne loginoplysninger, sælge data videre eller true med offentliggørelse. For en dansk virksomhed betyder det risiko for datalæk, der kan udløse anmeldelsespligt efter databeskyttelsesreglerne.
Hvor alvorligt er det?
CVSS-scoren er 8,2 ud af 10, hvilket er alvorligt. Angrebet kræver ingen login og ingen handling fra en bruger, kun en almindelig webforespørgsel sendt over internettet. Fortrolighed er hårdt påvirket, da databaseindhold kan læses, mens integritet kun er let påvirket, og der er ingen påvirkning af systemets tilgængelighed. Der er ikke rapporteret aktiv udnyttelse på offentliggørelsesdatoen, men de tekniske detaljer om angrebet er offentligt tilgængelige, hvilket gør det let at udnytte for enhver, der leder efter sårbare installationer.
Hvad gør jeg nu?
Sådan lukker I hullet og begrænser skaden:
- Fjern eller deaktivér Myportfolio-komponenten på jeres Joomla-installation, da der ikke findes en officiel rettelse fra leverandøren.
- Gennemgå webserverens logfiler for forespørgsler til index.php med task=project og view=grid, hvor pid-parameteren indeholder unormale tegn eller SQL-kode.
- Skift adgangskoder og eventuelle API-nøgler, hvis I finder tegn på at databasen er blevet forespurgt af en ukendt part.
- Opdatér Joomla-kernen og alle øvrige udvidelser til nyeste version, så andre kendte sårbarheder ikke udnyttes samtidig.
- Overvej at flytte til en aktivt vedligeholdt portfolio-løsning, hvis Myportfolio ikke længere opdateres af leverandøren.
- Kontakt en sikkerhedsleverandør, hvis I ikke selv kan afgøre, om jeres database er blevet tilgået, eller hvis I finder spor af misbrug.
Fjern komponenten inden 7 dage
Vi anbefaler at fjerne eller deaktivere Myportfolio-komponenten, da der ikke findes en officiel rettelse fra leverandøren. Det er i orden at vente med at handle, hvis komponenten allerede er fjernet eller siden ikke er tilgængelig fra internettet, men er den aktiv og offentligt tilgængelig, bør den tages ned nu og ikke først ved næste opdateringsvindue.
Tidslinje
Konkrete eksempler
Webbureau med kundeportfolio på Joomla
Et mindre dansk webbureau bruger Joomla med Myportfolio-komponenten til at vise referenceprojekter for kunder. En angriber finder siden via en søgemaskine, sender en manipuleret forespørgsel til projektsiden og trækker brugertabellen ud af databasen, herunder administratorens adgangskode-hash. Bureauet opdager først problemet, da administratoren ser unormal aktivitet i loginforsøg nogle dage senere.
Ofte stillede spørgsmål
Hvordan finder vi ud af, om vi bruger den sårbare komponent?
Tjek jeres Joomla-administrationspanel under Komponenter for Myportfolio, og kontrollér versionsnummeret. Er versionen 3.0.2 eller lignende ældre version installeret, er I sårbare.
Kan vi vente med at handle til den næste planlagte opdatering?
Nej, fejlen kan udnyttes uden login og uden brugerinteraktion. Da der ikke findes en officiel rettelse, bør komponenten fjernes eller deaktiveres nu i stedet for at vente.
Er der en opdatering, vi kan installere?
Der er ikke identificeret en officiel rettelse fra leverandøren af Myportfolio. Den mest sikre løsning er at fjerne eller deaktivere komponenten og eventuelt finde et alternativ.
Hvordan ser vi, om vores database allerede er blevet tilgået?
Gennemgå webserverens adgangslogs for forespørgsler til index.php med task=project&view=grid, hvor pid-parameteren indeholder unormale tegn som anførselstegn eller SQL-kommandoer.
Skal vi anmelde det til Datatilsynet?
Hvis I finder konkrete tegn på, at persondata er blevet udtrukket fra databasen, kan det udløse anmeldelsespligt efter databeskyttelsesreglerne. Er der ingen tegn på misbrug, men komponenten var sårbar, bør I dokumentere jeres afhjælpning.
Påvirker det hele Joomla-installationen eller kun komponenten?
Sårbarheden ligger specifikt i Myportfolio-komponenten, men da den kan give adgang til hele den underliggende database, kan konsekvenserne ramme al data, der ligger i samme database som Joomla-installationen.
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 Myportfolio 3.0.2 contains an SQL injection vulnerability that allows unauthenticated attackers to manipulate database queries by injecting SQL code through the pid parameter. Attackers can send GET requests to index.php with malicious pid values in the task=project&view=grid endpoint 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.