IBM HTTP Server többszörös sérülékenység

CH azonosító

CH-3111

Felfedezés dátuma

2010.05.10.

Súlyosság

Magas

Érintett rendszerek

HTTP Server
IBM

Érintett verziók

IBM HTTP Server 2.x

Összefoglaló

Több sérülékenységet találtak az IBM HTTP Server-ben, amiket kihasználva, rosszindulatú támadók módosíthatnak bizonyos adatokat, XSS támadást indíthatnak, bizalmas információkat szerezhetnek, megkerülhetik a biztonsági korlátozásokat, szolgáltatás megtagadást indézhetnek elő, vagy akár feltörhetik a sérülékeny rendszert.

Leírás

Több sérülékenységet találtak az IBM HTTP Server-ben, amiket kihasználva, rosszindulatú támadók módosíthatnak bizonyos adatokat, XSS támadást indíthatnak, bizalmas információkat szerezhetnek, megkerülhetik a biztonsági korlátozásokat, szolgáltatás megtagadást indézhetnek elő, vagy akár feltörhetik a sérülékeny rendszert.

  1. A sérülékenységet az “ap_proxy_http_process_response()” függvényben hibája okozza, mikor továbbítja az időközi válaszokat. Ez kihasználható tetszőlegesen nagy memória fogyasztására a mod_proxy megtévesztésével az időközi válaszok túlságosan nagyszámú küldésével a kliensnek.
  2. A mod_proxy_ftp-nek bemenetként átadott URL, amely FTP helyettesítő karaktert tartalmaz (pl: “*”), nincs kellően ellenőrizve, mielőtt azt visszaadnák a felhasználónak. Ezt kihasználva tetszőleges HTML és script kód futtatható le, mialatt a felhasználó az érintett oldalt böngészi.
  3. Az XML file-ok feldolgozásában lévő hiba miatt, az összes rendelkezésre álló memóriát fel lehet használni, egy speciálisan elkészített XML file segítségével.
  4. A strmatch/apr_strmatch.c file-ban “apr_strmatch_precompile()” fügvényének egy hibáját kihasználva, a programkönyvtárat használó alkalmazást össze lehet omlasztani.
  5. A buckets/apr_brigade.c “apr_brigade_vprintf()” függvényben jelentkező off-by-one hibát kihasználva bizalmas információkat lehet szerezni, vagy a programkönyvtárat használó alkalmazást össze lehet omlasztani.
  6. A sérülékenységet, az Apache által nem megfelelően leállított modulok idézik elő, kliens lekapcsolódás alkalmával.
  7. A misc/apr_rmm.c file-ban lévő “apr_rmm_malloc()”, “apr_rmm_calloc()”, “apr_rmm_realloc()” függvényekben előforduló egész szám túlcsordulásos hibákat kihasználva, puffer túlcsordulást lehet előidézni.
  8. Egy hiba keletkezik a mod_proxy_ftp modulban, amikor az FTP szerverektől érkező választ kezeli. Ezt kihasználva, egy NULL mutató hivatkozás feloldási hibát lehet előidézni, és ezzel össze lehet omlasztani az Apache gyerekfolyamatot (child process) egy hibásan formázott EPSV válasz segítségével.
  9. A sérülékenységet a “mod_proxy_ftp” modul bemenet érvényesítési hibája okozza. Ez kihasználható az Apache szerverhez intézett kérésekben tetszőleges FTP parancsok átadására, egy speciálisan elkészített “Authorization” fejléccel.
  10. A sérülékenységet a TLS protokol hibája okozza, amit az újra egyeztetés munkafolyamatok kezelése vált ki. Ezt kihasználható tetszőleges kódolatlan szöveg beszúrására egy közbeékelődött ember támadással (Man-in-the-Middle), még mielőtt a valódi ügyfél a már létező TLS munkafolyamatban elküldené az adatokat.
  11. Egy sérülékenység forrása az, hogy a programkönyvtár nem megfelelően ellenőrzi a “bn_wexpand()” függvény visszatérési értékét.
  12. A “ap_proxy_ajp_request()” függvény a modules/proxy/mod_proxy_ajp.c mod_proxy_ajp modulban a “HTTP_INTERNAL_SERVER_ERROR” hibakódot adja egyes szabálytalan kérések feldolgozásakor. Ezt kihasználva a háttérszerver hibaállapotba tehető az újracsatlakozási idő leteltéig speciálisan szerkesztett kérések küldésével.
  13. A mod_isapi modul a kérés feldolgozás befejezése előtt ki tudja tölteni az ISAPI modulokat potenciálisan árva visszahívás mutatókat hátrahagyva.
  14. Egy hiba található a fejléc kezelésnél alkérések feldolgozásakor, ami kihasználható érzékeny információk kinyerésére egy rossz szálon kezelt kérésből egy többszálú Multi-Processing Module (MPM) használatakor.

Megoldás

Telepítse a javítócsomagokat