Deniel of service w Django

Niedawno wykryto dość poważną lukę, która pozwalała na przeprowadzenie ataku ‚deniel of service’. Wypuszczono już poprawkę, która jest dostępna dla wersji Django 1.4.8, Django 1.5.4, and Django 1.6 beta 4. Atak możliwy był do wykonania przy użyciu biblioteki django.contrib.auth. Okazało się, że famework nie sprawdzał długości haseł, a przy wykorzystywanym przez niego typie szyfrowania PBKDF2 jest zabójcze. Hashowanie przebiega bowiem pod tym większym obciążeniem i dłuższe mamy hasło. Powodem tego jest specyficzne dla tego kodowania wielokrotne hashowanie, co pozwala lepiej zabezpieczyć hasła userów. Powoduje jednak, że przykładowe 1 Mb hasło przetwarzane jest na serwerze ponad minutę. Łatwo się domyśleć co by się stało, gdyby takich zapytań było więcej. Obecnie ograniczono już wielkość pakietu hasła do 4096 bajtów, co wciąż pozwala na stosowanie dostatecznie długich haseł, przy jednoczesnym nie dociążaniu serwera.