Under en undersökning av MySQL upptäckte e-matters flera problem:
- problem med tecken på tal i COM_TABLE_DUMP
-
Två tal togs som heltalsvärden med tecken från ett anrop och omvandlades
sedan till teckenlösa heltal utan något test för negativa värden.
Eftersom slutvärdena används för memcpy() kan detta leda till att minnet
fördärvas.
- hantering av lösenordslängd i COM_CHANGE_USER
-
Vid omautentisering till en ny användare utförde inte MySQL alla tester
som utförs vid den inledande autentiseringen.
Detta medförde två problem:
-
det tillät knäckning av lösenord med enbokstavsangrepp (vilket rättades
för inledande inloggning i februari 2000) vilket kunde leda till att en
normal användare får rootbehörighet till databasen
-
det var möjligt att överskrida lösenordsbufferten och få servern att
köra godtycklig kod
- read_rows() spiller i libmysqlclient
-
Vid behandling av raderna som returnerades av en SQL-server fanns inget
test för för stora rader eller terminerande NUL-tecken.
Detta kan användas för att utnyttja SQL-klienter om de ansluter sig mot
en komprometterad MySQL-server.
- read_one_row() spiller i libmysqlclient
-
Vid behandling av en rad som returnerats av en SQL-server verifierades
inte storleken på de returnerade fälten.
Detta kan användas för att utnyttja SQL-klienter om de ansluter sig mot
en komprometterad MySQL-server.
För Debian GNU/Linux 3.0/Woody har detta rättats i version 3.23.49-8.2
samt version 3.22.32-6.3 för Debian GNU/Linux 2.2/Potato.
Vi rekommenderar att ni uppgraderar era mysql-paket så snart som möjligt.