Django, een framework voor webapplicaties dat bovenop Python draait, heeft een kwetsbaarheid gedicht waarmee het relatief eenvoudig was om een denial of service uit te voeren. Door extreem lange wachtwoorden naar een Django-site te sturen, liep de server vast.
Django heeft zondag een tussentijdse fix voor het beveiligingsprobleem uitgebracht, nadat het bestaan van de kwetsbaarheid op een openbare mailinglijst was gemeld. Daardoor was een risico op misbruik ontstaan. Het webapplicatie-framework wordt gebruikt door veel grote sites, zoals Pinterest, Instagram en Mozilla.
De kwetsbaarheid bevond zich in het deel van de code dat het hashen van wachtwoorden afhandelt. Django had echter geen limiet op de wachtwoordlengte. Doordat de standaard-library die in Django wordt gebruikt voor het hashen van wachtwoorden, pbkdf2, intensief voor de server is, konden loginvensters op met Django gebouwde sites worden gebruikt als aanvalsmethode. Aanvallers konden herhaaldelijk extreem lange wachtwoorden verzenden, waardoor de server vastliep.
Door de kwetsbaarheid zouden wachtwoorden overigens niet buitgemaakt kunnen worden. Django slaat net als veel andere softwarepakketten de wachtwoorden van gebruikers zelf niet op, maar enkel een hash van het wachtwoord, waaruit het wachtwoord niet valt af te leiden. Om bij het inloggen het door een gebruiker ingevoerde wachtwoord te kunnen vergelijken met de opgeslagen wachtwoordhash, wordt bij elke inlogpoging het ingevoerde wachtwoord ook gehasht. Daarna kan worden bekeken of de twee hashes overeenkomen.
Om de kwetsbaarheid op te lossen, hebben de ontwikkelaars van Django een maximale wachtwoordlengte van 4096 bytes ingevoerd. Wanneer utf-8-encodering wordt gebruikt, komt dat neer op tussen de 1024 en 4096 karakters. De wijziging is doorgevoerd in recente Django-versies, waaronder de nieuwste versie, 1.5, en bètaversie 1.6.