Apache Regex, mod_php bug

Címkék

Ma Apache+mod_ssl-t frissítettem, mert néhány logban furcsa bejegyzéseket találtam. Kérések irányultak olyan fileokra, amelyek nem léteztek. Furcsa gyanúm volt, és kicsit utána néztem a dolognak. A gyanú nem volt alaptalan:

A népszerű Apache webszerver egy olyan bugot tartalmaz, amely lehetővé teszi nemkívánatos reguláris kifejezések (regex) értelmezését. A bugot kihasználva rosszindulatú támadók képesek tetszőleges kódot futtani az Apache-ot futtató felhasználó nevében. Ehhez a támadónak szüksége van olyan írható konfigurációs filera, mint például egy felhasználó public_html könyvtárában levő .htaccess file. A bug az Apache mod_alias és mod_rewrite regex értelmező kódjában található.

A hiba az összes 1.3.x Apache-ot érinti, kivéve a legújabb 1.3.29-est. Javaslom az Apache szerverek mielőbbi frissítését.

Emellett bugot találtak a mod_php Apache modul kódjában is. A hibát kihasználva bizonyos körülmények között a rosszindulató helyi felhasználó megtudja szerezni az irányítást a 443-as HTTPS port felett, és ott HTTPS szolgáltatást tud szimulálni.

A hibákról bővebben itt.

Hozzászólások

Pontositok, legalabbis ugy tudom, hogy a mod_php _csak_ az Apache2.0.x-et erinti:

http://www.securityfocus.com/archive/1/348368/2003-12-24/2003-12-30/0 [www.securityfocus.com]

A bug maga osregi, de nemregiben egy - a masodallasom altal ismert - ceg oldalat fel is nyomtak ezzel a modszerrel. Megoldas azota sincs, mert _allitolag_ az Apache es a PHP csapat egymasra mutogat a hiba kijavitasa ugyeben. A mai napon (illetve meg tegnap) bejelentettek, hogy az Apache 2.0.49 es az 1.3.30 megoldast ad majd a CookieName direktiva problemajara, de mas security frissitesrol szo sincs. :~-(

Az advisory szerint a remote attacket akkor tud elony fargani a hibabol

ha van php-je es tud programokat uploadolni. Azonban ha mar hozzaferese

van mod_php-s kodhoz, mar akkor is megette a fene, leaking descriptors

ide vagy oda.

A .htaccess-es moka erdekesebb, olyat is lehet csinalni hogy

``Alias / /'' (vagy hasonlo) es akkor vegtelen ciklusban zabalja

a CPU-t es a memoriat ameddig az OOM killer vagy valami resource

limit megunja.