Ved en gennemgang af MySQL fandt e-matters flere problemer:
- fortegnsproblem i COM_TABLE_DUMP
- To størrelser blev betragtet som heltalsværdier med fortegn fra en
forespørgsel og dernæst typekonverteret til et heltal uden fortegn, uden at
kontrollere for negative tal. Da det resulterende tal blev brugt i en
memcpy()-handling, kunne det føre til ødelæggelse af hukommelsen.
- Håndtering af adgangskodelængde i COM_CHANGE_USER
- Ved genautentifikation til en anden bruger, udførte MySQL ikke alle
kontroller som udføres ved den indledende autentifikation. Dette medførte to
problemer:
- det var muligt ved hjælp af "brute force"-metoden, et tegn ad gangen at
finde frem til adgangskoden (det rettede vi ved den indledende login i
februar 2000), hvilket kunne anvendes af en normal bruger til at opnå
root-rettigheder til databasen
- det var muligt at få adgangskodebufferen til at løbe over og tvinge
serveren til at udføre vilkårlig kode.
- read_rows()-overløb i libmysqlclient
- Ved behandling af rækker returneret af en SQL-server, var der ingen kontrol
af unormalt store rækker eller afsluttende NUL-tegn. Dette kunne anvendes til
at udnytte SQL-klienter, hvis de forbandt sig til udnyttede
MySQL-server.
- read_one_row()-overløb i libmysqlclient
- Ved behandling af en række returneret af en SQL-server, blev de returnerede
feltstørrelser ikke kontrolleret. Dette kunne anvendes til at udnytte
SQL-klienter, hvis de forbandt sig til den udnyttede MySQL-server.
I Debian GNU/Linux 3.0/woody er dette rettet i version 3.23.49-8.2 og
version 3.22.32-6.3 i Debian GNU/Linux 2.2/potato.
Vi anbefaler at du opgraderer dine mysql-pakker så hurtigt som muligt.