
Michał 'lcamtuf' Zalewski odkrył kolejną dziurę w przeglądarce
Mozilla Firefox. Udało mu się to już po raz trzeci w ciągu
ostatnich kilku dni. Na jedną z luk podatny okazał się też Internet Explorer.
Dziura występuje w wersjach 2.0.0.1 i 1.5.0.9 a prawdopodobnie też
w wielu innych wydanych w ostatnim czasie. Umożliwia atakującemu
uzyskanie dostępu do tzw. ciasteczek autoryzacyjnych innych stron i
ich modyfikację. Daje to potencjalną możliwość zmiany zachowania i
wyglądu tych stron.
Firefox obsługując zapis właściwości location.hostname modelu DOM zezwala na podawanie łańcuchów znaków
zawierających bajty o wartości zero. Ponieważ wewnętrznie łańcuchy
nie są traktowane jako zakończone zerami (NULL-terminated) prowadzi
to do ciekawego zachowania. Normalnie strony pochodzące z jednej
domeny nie mają dostępu do ciasteczek stron z innej domeny. Jeśli
jednak poda się przykładowo ciąg 'evil.com\x00foo.example.com'
Firefox uzna taki adres za należący do domeny 'example.com'. Przy
rozwiązywaniu adresu wzięty będzie jednak fragment ograniczony
zerem, czyli 'evil.com'. Otwiera to dla stron z domeny 'evil.com'
możliwość dostępu do ciasteczek stron z domeny 'example.com'.
Ponadto podobna modyfikacja 'document.domain' daje dostęp do
okienek lub ramek wyświetlających strony z innych domen a także
przesyłanie danych za pomocą XMLHttpRequest.
Przykładowa strona pokazująca działanie luki znajduje się tutaj.
Aktualizacja, 24.02.2007 18:10
Wydano wersje 1.5.0.10 i 2.0.0.2, w których usunięto opisaną
dziurę. Dostępne są na stronie Firefoksa.