• Sources: Seth Larson write-up
  • Summary: The IDNA 2003 specification pins case folding to Unicode 3.2.0. Seth Larson reports that CPython's built-in codec folded case with the Unicode data of whichever interpreter was running instead, so the same domain encoded to different Punycode depending on the implementation and the Python version. The post describes the remediation without naming a fixed Python release, and no CPython advisory was read for this entry.
  • Why it matters: Two implementations of the same specification encoded the same domain to different Punycode, which is the shape of bug that turns an equality check into a bypass.
  • Follow-up: Establish the fixed CPython versions and whether a CVE was assigned.

send feedback on this story