Maandag heeft het ontwikkelteam van de webbased MySQL-beheertool phpMyAdmin een patch voor die software uitgebracht. Met die patch dichten de ontwikkelaars vier gaten in de webapplicatie. Eén gat is aangemerkt als relatief onbelangrijk, één kwetsbaarheid is serieus en de andere twee zijn kritiek.

Van buitenaf code invoeren

De eerste kritieke kwetsbaarheid geeft een aanvaller de mogelijkheid om van buitenaf commando's uit te voeren op de server waar phpMyAdmin op geïnstalleerd staat. De kwetsbaarheid is ontstaan doordat er in de code een parameter niet goed wordt gecontroleerd als iemand een klasse-naam wil samenvoegen. Een 'meevaller' aan dit beveiligingsgat is wel dat een aanvaller vooraf ingelogd moet zijn.

Dat zou zo een kwaadwillende echter kunnen bereiken door de tweede kritieke bug te gebruiken. Daarmee is het namelijk mogelijk om de sessie te manipuleren en eventueel te stelen. Daarvoor moet wel het authenticatiemechanisme voor Swekey ingeschakeld zijn. De eigenlijke fout zit namelijk in de authenticatiecode voor Swekey, een hardwarebeveiliging voor webapps die via usb-sticks werkt.

Cross site scripting

Met de 'serieuze' kwetsbaarheid in phpMyAdmin is het mogelijk om een lokaal bestand in te voegen in de software. Daarvoor moet de configuratie van het opslagmechanisme in phpMyAdmin wel juist geconfigureerd zijn.

De kleine bug behelst een cross site scripting probleem. De bug is klein omdat de aanvaller het slachtoffer op een link moet laten klikken in het 'table print view' script van phpMyAdmin. Eén van de parameters in die link moet dan kwaadaardige JavaScript-code zijn. Dat betekent dat een aanvaller dus eerst een tabelnaam moet veranderen naar een kwaadaardig script.

Alle versies

Alle versies van phpMyAdmin voor 3.4.3.1 een eerder zijn kwetsbaar voor de bugs. Versies in de 2.11-reeks van de software zijn niet kwetsbaar voor de sessie-manipulatiebug maar mogelijk wel voor de andere gaten. Deze reeks van de software wordt niet meer bijgehouden dus hier komt geen patch voor uit.