When str.lower() is a security vulnerability in Python
A Python security vulnerability caused IDNA 2003 handling to use the interpreter’s current Unicode case-folding rules instead of the Unicode 3.2 rules required by the specification.The fix makes Python’s case-folding behavior match Unicode 3.2 for StringPrep, restoring standards-compliant IDNA encoding and addressing CVE-2026-17084.
https://sethmlarson.dev/when-str-lower-is-a-security-vulnerability
sethmlarson.dev
When str.lower() is a security vulnerability in Python
Some internet standards only support ASCII characters, but the world uses
much more than the Latin alphabet. Thus, a mapping from Unicode to
ASCII for use in domain names is required.
NamePrep was...
