p PatchFirst

CVE-2026-45409

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

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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 6.9 · Medium · EPSS 0.5% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • idna

    Versions
    • < 3.15: Affected

    No fix published

  • python-idna Debian:12

    Versions
    • 3.10-1
    • 3.10-1~exp1
    • 3.11-1
    • 3.11-1.1
    • 3.18-1
    • 3.19-1
    • 3.3-1
    • 3.3-1+deb12u1
    • 3.3-2
    • 3.6-1
    • 3.6-2
    • 3.6-2.1
    • 3.8-1
    • 3.8-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Debian:13

    Versions
    • 3.10-1
    Affected ranges
    • ECOSYSTEM: < 3.10-1+deb13u1

    Update to 3.10-1+deb13u1

  • python-idna Debian:14

    Versions
    • 3.10-1
    • 3.11-1
    Affected ranges
    • ECOSYSTEM: < 3.11-1.1

    Update to 3.11-1.1

  • idna PyPI

    Versions
    • 0.1
    • 0.2
    • 0.3
    • 0.4
    • 0.5
    • 0.6
    • 0.7
    • 0.8
    • 0.9
    • 1.0
    • 1.1
    • 2.0
    • 2.1
    • 2.10
    • 2.2
    • 2.3
    • 2.4
    • 2.5
    • 2.6
    • 2.7
    • 2.8
    • 2.9
    • 3.0
    • 3.1
    • 3.10
    • 3.11
    • 3.12
    • 3.13
    • 3.14
    • 3.2
    • 3.3
    • 3.4
    • 3.5
    • 3.6
    • 3.7
    • 3.8
    • 3.9
    Affected ranges
    • ECOSYSTEM: < 3.15

    Update to 3.15

  • python-pip Ubuntu:Pro:14.04:LTS

    Versions
    • 1.4.1-2
    • 1.5.4-1
    • 1.5.4-1ubuntu1
    • 1.5.4-1ubuntu3
    • 1.5.4-1ubuntu4
    • 1.5.4-1ubuntu4+esm1
    • 1.5.4-1ubuntu4+esm2
    • 1.5.4-1ubuntu4+esm3
    • 1.5.4-1ubuntu4+esm4
    • 1.5.4-1ubuntu4+esm5
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:Pro:16.04:LTS

    Versions
    • 2.0-3
    • 2.0-3ubuntu0.1~esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-pip Ubuntu:Pro:16.04:LTS

    Versions
    • 1.5.6-7ubuntu1
    • 1.5.6-7ubuntu2
    • 8.0.2-7
    • 8.0.3-1
    • 8.0.3-2
    • 8.1.0-1
    • 8.1.0-2
    • 8.1.1-1
    • 8.1.1-2
    • 8.1.1-2ubuntu0.1
    • 8.1.1-2ubuntu0.2
    • 8.1.1-2ubuntu0.4
    • 8.1.1-2ubuntu0.6
    • 8.1.1-2ubuntu0.6+esm2
    • 8.1.1-2ubuntu0.6+esm3
    • 8.1.1-2ubuntu0.6+esm4
    • 8.1.1-2ubuntu0.6+esm5
    • 8.1.1-2ubuntu0.6+esm6
    • 8.1.1-2ubuntu0.6+esm8
    • 8.1.1-2ubuntu0.6+esm10
    • 8.1.1-2ubuntu0.6+esm11
    • 8.1.1-2ubuntu0.6+esm12
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:Pro:18.04:LTS

    Versions
    • 2.5-1
    • 2.6-1
    • 2.6-1ubuntu0.1~esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-pip Ubuntu:Pro:18.04:LTS

    Versions
    • 9.0.1-2
    • 9.0.1-2.3~ubuntu1
    • 9.0.1-2.3~ubuntu1.18.04.1
    • 9.0.1-2.3~ubuntu1.18.04.2
    • 9.0.1-2.3~ubuntu1.18.04.3
    • 9.0.1-2.3~ubuntu1.18.04.4
    • 9.0.1-2.3~ubuntu1.18.04.5
    • 9.0.1-2.3~ubuntu1.18.04.5+esm2
    • 9.0.1-2.3~ubuntu1.18.04.5+esm3
    • 9.0.1-2.3~ubuntu1.18.04.6
    • 9.0.1-2.3~ubuntu1.18.04.6+esm1
    • 9.0.1-2.3~ubuntu1.18.04.7
    • 9.0.1-2.3~ubuntu1.18.04.7+esm1
    • 9.0.1-2.3~ubuntu1.18.04.8
    • 9.0.1-2.3~ubuntu1.18.04.8+esm1
    • 9.0.1-2.3~ubuntu1.18.04.8+esm2
    • 9.0.1-2.3~ubuntu1.18.04.8+esm4
    • 9.0.1-2.3~ubuntu1.18.04.8+esm6
    • 9.0.1-2.3~ubuntu1.18.04.8+esm7
    • 9.0.1-2.3~ubuntu1.18.04.8+esm8
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:20.04:LTS

    Versions
    • 2.6-2
    • 2.6-2build1
    • 2.8-1
    • 2.8-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-pip Ubuntu:Pro:20.04:LTS

    Versions
    • 18.1-5
    • 18.1-5build1
    • 18.1-5ubuntu1
    • 20.0.2-2
    • 20.0.2-4
    • 20.0.2-5
    • 20.0.2-5ubuntu1
    • 20.0.2-5ubuntu1.1
    • 20.0.2-5ubuntu1.3
    • 20.0.2-5ubuntu1.4
    • 20.0.2-5ubuntu1.5
    • 20.0.2-5ubuntu1.6
    • 20.0.2-5ubuntu1.7
    • 20.0.2-5ubuntu1.8
    • 20.0.2-5ubuntu1.9
    • 20.0.2-5ubuntu1.10
    • 20.0.2-5ubuntu1.10+esm2
    • 20.0.2-5ubuntu1.11
    • 20.0.2-5ubuntu1.11+esm2
    • 20.0.2-5ubuntu1.11+esm3
    • 20.0.2-5ubuntu1.11+esm4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:22.04:LTS

    Versions
    • 2.10-1
    • 3.2-2
    • 3.3-1
    • 3.3-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: < 3.3-1ubuntu0.2

    Update to 3.3-1ubuntu0.2

  • python-pip Ubuntu:Pro:22.04:LTS

    Versions
    • 20.3.4-4
    • 21.3.1+dfsg-3
    • 22.0.2+dfsg-1
    • 22.0.2+dfsg-1ubuntu0.1
    • 22.0.2+dfsg-1ubuntu0.2
    • 22.0.2+dfsg-1ubuntu0.3
    • 22.0.2+dfsg-1ubuntu0.4
    • 22.0.2+dfsg-1ubuntu0.5
    • 22.0.2+dfsg-1ubuntu0.6
    • 22.0.2+dfsg-1ubuntu0.7
    • 22.0.2+dfsg-1ubuntu0.7+esm1
    • 22.0.2+dfsg-1ubuntu0.7+esm2
    • 22.0.2+dfsg-1ubuntu0.7+esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:24.04:LTS

    Versions
    • 3.3-2
    • 3.6-2
    • 3.6-2ubuntu0.1
    Affected ranges
    • ECOSYSTEM: < 3.6-2ubuntu0.2

    Update to 3.6-2ubuntu0.2

  • python-pip Ubuntu:Pro:24.04:LTS

    Versions
    • 23.2+dfsg-1
    • 23.3+dfsg-1
    • 24.0+dfsg-1
    • 24.0+dfsg-1ubuntu1
    • 24.0+dfsg-1ubuntu1.1
    • 24.0+dfsg-1ubuntu1.2
    • 24.0+dfsg-1ubuntu1.3
    • 24.0+dfsg-1ubuntu1.3+esm1
    • 24.0+dfsg-1ubuntu1.3+esm2
    • 24.0+dfsg-1ubuntu1.3+esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:25.10

    Versions
    • 3.10-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-pip Ubuntu:25.10

    Versions
    • 25.0+dfsg-1
    • 25.1.1+dfsg-1
    • 25.1.1+dfsg-1ubuntu1
    • 25.1.1+dfsg-1ubuntu2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-pip Ubuntu:26.10

    Versions
    • 25.1.1+dfsg-1ubuntu2
    • 26.1.2+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-idna Ubuntu:26.04:LTS

    Versions
    • 3.10-1
    • 3.10-1build1
    • 3.11-1
    Affected ranges
    • ECOSYSTEM: < 3.11-1ubuntu0.1

    Update to 3.11-1ubuntu0.1

  • python-pip Ubuntu:Pro:26.04:LTS

    Versions
    • 25.1.1+dfsg-1ubuntu2
    • 25.1.1+dfsg-1ubuntu2+esm1
    • 25.1.1+dfsg-1ubuntu2+esm2
    • 25.1.1+dfsg-1ubuntu2+esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →