Description
The "stringprep" module didn't process characters from RFC 3454 tables
B.2 or B.3 correctly: the latest Unicode codepoint attributes were used
instead of the specified Unicode 3.2.0. This behavior would cause
mismatches when processing domain names using IDNA 2003 (the "idna"
codec) and the in_table_b2() function of the "stringprep" module. This
only affects domain names containing characters that were not previously
registered or had their Unicode attributes such as case-folding
behavior updated since Unicode 3.2.0.
Published: 2026-08-18
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Python stringprep module incorrectly applies Unicode 15.1 attributes to RFC 3454 tables B.2 and B.3, instead of the required Unicode 3.2.0 values. This deviation causes IDNA 2003 domain name processing via the idna codec and stringprep.in_table_b2() to produce mismatched results. As a consequence, a domain name containing newer Unicode characters or updated case‑folding rules may fail to normalize correctly, potentially allowing an attacker to spoof domain names or bypass hostname checks.

Affected Systems

CPython implementations from the Python Software Foundation are affected; any Python program that imports the stringprep module and processes internationalized domain names using the idna codec or the in_table_b2() function may experience the inconsistency.

Risk and Exploitability

The CVSS score of 6 indicates a moderate severity. EPSS is not available, and the vulnerability is not listed in CISA KEV, suggesting low but non‑zero exploit probability. The flaw can be exercised by code that imports stringprep for domain name handling, which is a common operation in web servers, email validation, and other network applications. Thus, the attack vector is likely remote, relying on the ability to execute Python code with domain name inputs. Without a patch, attackers may cause authentication or routing errors by supplying specially crafted internationalized domain names.

Generated by OpenCVE AI on August 18, 2026 at 20:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest CPython release that contains the fix for stringprep.map_table_b2() deviating from RFC 3454 Table B.2
  • Avoid relying on the deprecated idna codec and the stringprep.in_table_b2() function for domain name normalization; use a modern IDNA library such as the third‑party idna 3.4 package
  • If an upgrade is not immediately possible, restrict the use of stringprep.in_table_b2() for internationalized domain name input and validate the domain name against a trusted canonicalization routine

Generated by OpenCVE AI on August 18, 2026 at 20:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 05 Sep 2026 01:00:00 +0000


Wed, 19 Aug 2026 00:30:00 +0000


Tue, 18 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Tue, 18 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 18 Aug 2026 18:15:00 +0000


Tue, 18 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
References

Tue, 18 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Python
Python cpython
Vendors & Products Python
Python cpython

Tue, 18 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-436

Tue, 18 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Tue, 18 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Title stringprep.map_table_b2() deviates from RFC 3454 Table B.2 — breaks IDNA interoperability stringprep.map_table_b2() deviates from RFC 3454 Table B.2

Tue, 18 Aug 2026 14:00:00 +0000

Type Values Removed Values Added
Description The "stringprep" module didn't process characters from RFC 3454 tables B.2 or B.3 correctly: the latest Unicode codepoint attributes were used instead of the specified Unicode 3.2.0. This behavior would cause mismatches when processing domain names using IDNA 2003 (the "idna" codec) and the in_table_b2() function of the "stringprep" module. This only affects domain names containing characters that were not previously registered or had their Unicode attributes such as case-folding behavior updated since Unicode 3.2.0.
Title stringprep.map_table_b2() deviates from RFC 3454 Table B.2 — breaks IDNA interoperability
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: PSF

Published:

Updated: 2026-09-05T00:35:10.510Z

Reserved: 2026-07-24T14:36:15.943Z

Link: CVE-2026-17084

cve-icon Vulnrichment

Updated: 2026-08-18T17:08:22.725Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-18T14:16:56.290

Modified: 2026-09-05T01:16:48.377

Link: CVE-2026-17084

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T21:00:04Z

Weaknesses