CVE-2012-2122: Chyba MySQL, která by vás měla zajímat

Zásadní chybu (včetně opravy) týkající se MySQL a MariaDB serverů v sobotu na oss-sec maillistu ohlásil Sergei Golubchik. Zpozornět by tedy měli všichni, kdo mají nějaký takový server pod svojí správou.

Pokud se uživatel chce k MariaDB/MySQL serveru připojit a ověřuje se heslem, vytvoří se právě z hesla a nějakých náhodných dat SHA otisk a porovnává se s uloženými údaji. Díky chybě v tomto porovnávání, vzniká šance 1:256, že vás systém vpustí i se špatným heslem. Yay!

Týká se mě to?

Podle původního příspěvku jsou na chybu náchylné tyto verze:

All MariaDB and MySQL versions up to 5.1.61, 5.2.11, 5.3.5, 5.5.22 are vulnerable.
MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.

Zda tímto neduhem trpí váš server, můžete otestovat jednoduchým jednořádkovým skriptem:

$ for i in `seq 1 1000`; do mysql -u root --password=blabla -h 127.0.0.1 2>/dev/null; done

Pustí-li vás dovnitř, aktualizujte.

Ve všech větších distribucích by ale měly být balíčky odolné (sám jsem testoval poslední CentOS (RHEL) 5/6). Testujte a chyby hlašte na odpovídajících místech.

Jednoduchá obrana

Pokud zjistíte, že je váš systém napadnutelný, braňte se tím nejjednodušším způsobem - povolte přihlašování pouze uživatelům z lokálního stroje a uzavřete přístupy na MySQL z celého světa. A hned záplatujte.

Ke čtení

Původní zdroj: Security vulnerability in MySQL/MariaDB sql/password.c
A Tragically Comedic Security Flaw in MySQL
Detail CVE-2012-2122