🇰🇷 한글 설명
Django의 URLField.to_python() 함수가 Windows 환경에서 특정 유니코드 문자에 대해 NFKC 정규화를 수행할 때 처리 속도가 매우 느려지는 문제가 발견되었습니다. 공격자가 특수 유니코드가 포함된 대규모 URL 입력을 전송할 경우 서버 자원을 과도하게 소모하게 만들어 서비스 거부(DoS) 상태를 유발할 수 있습니다.
💡 쉬운 설명
특수한 글자가 포함된 아주 긴 인터넷 주소를 보내면 서버가 이를 처리하느라 과부하가 걸려 멈출 수 있는 문제입니다. 이를 통해 웹사이트 서비스를 일시적으로 중단시킬 수 있습니다.
🇺🇸 원문 (English)
An issue was discovered in 6.0 before 6.0.3, 5.2 before 5.2.12, and 4.2 before 4.2.29.
`URLField.to_python()` in Django calls `urllib.parse.urlsplit()`, which performs NFKC normalization on Windows that is disproportionately slow for certain Unicode characters, allowing a remote attacker to cause denial of service via large URL inputs containing these characters.
Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected.
Django would like to thank Seokchan Yoon for reporting this issue.
📍 영향받는 시스템
Django 6.0 미만 6.0.3, 5.2 미만 5.2.12, 4.2 미만 4.2.29 및 지원 종료된 5.0.x, 4.1.x, 3.2.x 버전
⚔️ 공격 벡터
원격 공격자가 특수 유니코드 문자가 포함된 대량의 URL 입력을 전송하여 서버 자원 고갈 유도
🛡️ 대응 방법
Django를 최신 보안 패치가 적용된 버전(6.0.3, 5.2.12, 4.2.29 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 Django 버전이 취약한 버전 범위에 해당하는지 확인하십시오.
pip show django | grep Version