6.9

CVE-2026-45409: Internationalized Domain Names in Applications (IDNA): Specially crafted inputs to idna.encode() can bypass CVE-2024-3651 fix

Analyzed
AliasesSUSE-SU-2026:22271-1SUSE-SU-2026:22356-1SUSE-SU-2026:2828-1
Published 05-06-2026Last modified 08-06-2026

Vulnerability summary

CVE-2026-45409 is a medium (CVSS 6.9) vulnerability in kjd idna. EPSS estimates a 0.41% chance of exploitation in the next 30 days, higher than 35.1% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 6.9, network access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
6.9/10
010
Medium · v4.0 (CVE.org)
EPSS score
0.41%
0%100%
Low · -0.05 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 8 · Related 7

Timeline

  1. 05-06-2026
    PublishedVulnerability first disclosed.
  2. 08-06-2026
    Last modifiedVulnerability information updated.

Description

Internationalized Domain Names in Applications (IDNA) for Python provides support for Internationalized Domain Names in Applications (IDNA) and Unicode IDNA Compatibility Processing. In versions prior to 3.15, payloads such as `"\u0660" * N` or `"\u30fb" * N + "\u6f22"` utilize the `valid_contexto` function prior to length rejection, and for high values of `N` will take a long time to process. This is the same issue as CVE-2024-3651, however the original remediation in 2024 was not a complete fix. A specially crafted argument to the `idna.encode()` function could consume significant resources. This may lead to a denial-of-service. Starting in version 3.14, the function rejects long inputs as soon as practicable prior to any further processing to minimize resource consumption. In version 3.15, this approach was extended to lesser used alternate functions (i.e. per-label conversions and codec support). A workaround is available. Domain names cannot exceed 253 characters in length. If this length limit is enforced prior to passing the domain to the `idna.encode()` function, it should no longer consume significant resources. This is triggered by arbitrarily large inputs that would not occur in normal usage, but may be passed to the library assuming there is no preliminary input validation by the higher-level application.

CVSS metrics

12 scores · 8 sources · 2 versions

EPSS trend

Probability

0.41%

Chance of exploitation in the next 30 days

Percentile

35%

Versus all other CVEs

30-day change

Decrease -0.05 pp

From 0.46% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.

Chainguard147 products
  • airflow-2All versions (No fix recorded)
  • airflow-3< 3.2.1-r4
  • airflow-core-2All versions (No fix recorded)
  • airflow-core-3< 3.2.2-r0
  • ansible-operator< 1.42.3-r1
Wolfi53 products
  • airflow-3< 3.2.1-r4
  • confluent-docker-utils< 0.0.172-r0
  • dask-kubernetes< 2026.3.0-r5
  • datadog-agent-7.72< 7.72.4-r24 | < 7.72.4-r27
  • datadog-agent-7.72-core-integrations< 7.72.4-r27 | All versions (No fix recorded)

2 vendors · 200 products · Showing 200 of 226

References

30 links
Show all 30 references