CVE-2017-20275: SQL-fejl i Joomla PHP-Bridge 1.2.3
SQL-indsprøjtning i Joomla-komponenten PHP-Bridge 1.2.3 lader angribere uden login læse jeres database. Fjern eller opdatér komponenten nu.
Hvad er det?
CVE-2017-20275 er en SQL-indsprøjtningssårbarhed i Joomla!-komponenten PHP-Bridge version 1.2.3. SQL-indsprøjtning betyder, at en angriber kan skrive egne databasekommandoer ind i et felt, som webstedet ikke tjekker ordentligt, og dermed få adgang til data, den ikke skal have. Fejlen sidder i parameteren id, som sendes via et almindeligt GET-kald til index.php med option=com_phpbridge og view=phpview. En angriber kan bruge det til at hive tabelnavne, kolonnenavne og indhold ud af jeres database uden at kende et brugernavn eller kodeord.
Hvem rammer det?
Det rammer danske virksomheder og foreninger, der driver et Joomla!-website med tredjepartskomponenten PHP-Bridge i version 1.2.3 installeret. Komponenten bruges typisk til at vise PHP-genereret indhold eller integrere eksterne scripts på Joomla-sider. Er komponenten ikke installeret, er I ikke ramt.
Hvad kan ske?
En angriber kan læse indhold fra jeres database uden at logge ind, herunder brugertabeller med navne, e-mailadresser og i visse opsætninger krypterede kodeord. For en dansk virksomhed kan det betyde lækage af kundedata eller medarbejderoplysninger, hvilket udløser pligt til at vurdere anmeldelse til Datatilsynet efter databeskyttelsesreglerne. Sårbarheden giver ikke i sig selv adgang til at skrive eller ændre data, men udtrukket information kan bruges til videre angreb, for eksempel gætning af administratorlogin.
Hvor alvorligt er det?
CVSS-scoren er 8,2 ud af 10, hvilket er alvorligt. Angrebet kræver ingen adgangskode, ingen brugerhandling fra offeret og kan udføres over internettet med et simpelt webkald. Konsekvensen er begrænset til læsning af data, ikke til at ændre eller slette, og komponenten skal give adgang til systemet i sig selv, ikke bare websitet ud fra det, der er offentliggjort. Der er ikke oplyst aktiv udnyttelse i naturen, men den detaljerede beskrivelse af angrebsmetoden gør det sandsynligt, at færdige angrebsscripts allerede findes offentligt.
Hvad gør jeg nu?
Prioritér disse skridt, hvis I bruger Joomla! med PHP-Bridge-komponenten:
- Fjern eller deaktivér PHP-Bridge-komponenten i Joomla!, hvis I ikke aktivt bruger den. Det lukker hullet med det samme.
- Kan I ikke fjerne den, blokér adgang til option=com_phpbridge på webserver- eller firewallniveau, indtil en opdateret version findes.
- Tjek om der findes en nyere version af PHP-Bridge end 1.2.3 hos leverandøren, og opdatér, hvis den findes.
- Gennemgå webserverens loks for kald med phpview og id-parametre for at se, om komponenten allerede er blevet undersøgt eller angrebet.
- Skift kodeord for administratorbrugere på Joomla-siden som forholdsregel, hvis komponenten har været tilgængelig i lang tid.
- Kontakt en sikkerhedsrådgiver, hvis I finder tegn på databaseudtræk, eller hvis I ikke selv kan vurdere, om komponenten er i brug.
Fjern komponenten inden for få dage
Vi anbefaler, at I straks tjekker, om PHP-Bridge-komponenten er installeret på jeres Joomla-website, og fjerner den, hvis den ikke bruges aktivt. Er komponenten nødvendig, bør adgangen til den begrænses via firewall, indtil en sikker version findes. Det er kun i orden at vente, hvis I med sikkerhed kan bekræfte, at komponenten ikke er installeret på jeres side.
Tidslinje
Konkrete eksempler
Foreningswebsite med gammel Joomla-udvidelse
En dansk erhvervsforening har i flere år brugt Joomla! til sit website og har på et tidspunkt installeret PHP-Bridge for at vise eksternt indhold. Ingen har siden opdateret eller fjernet komponenten. En automatiseret scanning finder komponenten og udtrækker medlemslisten fra databasen, inklusive navne og e-mailadresser, uden at nogen i foreningen bemærker det, før en ekstern rådgiver gennemgår loks.
Ofte stillede spørgsmål
Hvordan ved vi, om vi bruger PHP-Bridge-komponenten?
Log ind i Joomla-administrationen og se under Komponenter eller Udvidelser, om PHP-Bridge er installeret. I kan også søge efter mappen com_phpbridge i jeres Joomla-filsystem.
Kan vi vente til efter weekenden med at reagere?
Kun hvis komponenten ikke er installeret. Er den installeret og aktiv, bør I fjerne eller blokere den samme dag, da angrebet ikke kræver login og kan udføres af automatiserede scripts.
Er der en opdatering, vi kan installere i stedet for at fjerne komponenten?
Der er ikke oplyst en officiel rettet version i de tilgængelige oplysninger. Undersøg hos leverandøren af komponenten, om en nyere version findes, før I overvejer at genaktivere den.
Kan sårbarheden bruges til at overtage vores website helt?
Sårbarheden i sig selv giver kun læseadgang til databasen, ikke skriveadgang eller kontrol over serveren. Udtrukket information, som administratorbrugernavne, kan dog bruges som skridt i et større angreb.
Skal vi anmelde noget til Datatilsynet?
Kun hvis I har konkrete tegn på, at persondata faktisk er blevet udtrukket. Find beviser i loks, og vurder derefter anmeldelsespligten efter databeskyttelsesreglerne, gerne med juridisk rådgivning.
Rammer det også andre Joomla-komponenter end PHP-Bridge?
Nej, denne konkrete sårbarhed er specifik for PHP-Bridge version 1.2.3. Andre Joomla-komponenter kan have lignende svagheder, men de er ikke dækket af CVE-2017-20275.
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 PHP-Bridge 1.2.3 contains an SQL injection vulnerability that allows unauthenticated attackers to execute arbitrary SQL queries by injecting malicious code through the id parameter. Attackers can send GET requests to index.php with option=com_phpbridge&view=phpview parameters and inject SQL code in the id parameter to extract database information including table and column names.
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.