
Um script PoC para demonstrar o CVE 2025-64458, encontrado no Django, potencial DoS em `HttpResponseRedirect`/`HttpResponsePermanentRedirect` no Windows.
Um problema de negação de serviço (DoS) nas respostas de redirecionamento do Django permite que um atacante acione trabalho excessivo da CPU durante a normalização de URL ao construir respostas de redirecionamento. No Windows, a normalização Unicode NFKC do Python é particularmente lenta. Como resultado, criar HttpResponseRedirect/HttpResponsePermanentRedirect (ou usar django.shortcuts.redirect()) com URLs Unicode muito grandes controladas pelo atacante pode causar tempos de processamento patológicos, levando à exaustão de threads de solicitação e lentidão/indisponibilidade do serviço.
Esta questão é um desdobramento do CVE‑2025‑27556 e afeta especificamente o Windows devido às características de desempenho de unicodedata.normalize() nessa plataforma.
next/, ou lógica do aplicativo retornando um redirecionamento usando entrada não confiável).return_toHttpResponseRedirect (302) e HttpResponsePermanentRedirect (301), bem como django.shortcuts.redirect().poc.py) DemonstraA), ex.: https://AA…/.HttpResponseRedirect(url), o que aciona a normalização de URL (iri_to_uri()) e divisão (urlsplit()), exercitando o caminho lento no Windows.DisallowedRedirect (veja Resumo do Patch), evitando o trabalho caro de normalização.HttpResponseRedirectBase.__init__:
MAX_URL_LENGTH de django.utils.http.str e levanta DisallowedRedirect se len(redirect_to_str) > MAX_URL_LENGTH antes de chamar urlsplit().DisallowedRedirect.