A Context csapata olyan hibát fedezett fel az Apache webszerver mod_rewrite moduljában, amely bizonyos konfigurációk esetén hozzáférést enged Internet felől egyébként elérhetetlen belső hálózati hosztokhoz.
A probléma tipikusan akkor jelentkezik, amikor egy Apache reverse proxy irányítja a forgalmat, pl. terhelésmegosztás céljából statikus illetve dinamikus tartalmakat kiszolgáló belső hosztok között. Az alábbi módon megadott szabály esetén a @ karaktert használva tetszőleges belső hosztra irányítható a forgalom:
RewriteRule ^(.*) http://belsohoszt:80$1
Egy hibát kihasználó kérés részlet:
GET @kivulrolnemelerhetohoszt:80 HTTP/1.1
A szabály alkalmazása után nyilvánvalóan a http://belsohoszt:80@kivulrolnemelerhetohoszt:80 URL töltődik be, melyben a belsohoszt string nem hosztnevet, hanem felhasználónevet (az első 80 pedig jelszót) jelöl, a ténylegesen megszólított hoszt pedig a kivulrolnemelerhetohoszt lesz.
Az ASF patch-et készített a probléma orvoslására a kiszolgáló 2.2.21-es változatához.
_2501 2011.10.06. 21:05:36