Python의 str.lower()가 보안 취약점이 될 때

When str.lower() is a security vulnerability in Python – Seth Larson

Python의 str.lower()가 보안 취약점이 될 때

Seth Larson이 Python의 IDNA 2003 구현에서 발견된 보안 취약점(CVE-2026-17084)을 설명합니다. StringPrep 사양은 Unicode 3.2.0의 case-folding 규칙을 요구하지만, Python의 str.lower()는 최신 Unicode 버전을 사용하여 불일치가 발생합니다. 이로 인해 도메인 이름 인코딩이 달라질 수 있으며, 수정은 Unicode 3.2.0과의 차이를 보정하는 예외 테이블을 추가하는 방식으로 이루어졌습니다.

str.lower() 호출은 취약점입니다! 왜냐하면 str은 해당 Python 인터프리터에 포함된 Unicode 데이터를 사용하기 때문입니다.

이 날의 다른 글

2026-08-25