Cloudanix VulnDB

CVE-2024-45230

None

CVSS

—

EPSS

25.8%

Published

Oct 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a popular web framework allows attackers to send specially crafted large data that can make websites using it slow down or stop responding.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Web Framework
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The urlize() and urlizetrunc() template filters in affected Django versions can be forced into excessive processing or resource consumption when supplied very large inputs containing a specific character sequence, resulting in denial of service.

Why it matters to the business

Applications may become unresponsive or crash under load from crafted requests, causing service outages, degraded user experience, and potential revenue loss until the affected instances are restarted or patched.

How an attack unfolds

An attacker identifies a Django-based application that renders user-supplied content through the urlize or urlizetrunc template filters, crafts a very large payload containing the triggering character sequence, and submits it via any input path that reaches those filters, triggering resource exhaustion.

How to fix it

Upgrade Django to 5.1.1 or later, 5.0.9 or later, or 4.2.16 or later. For the Mattermost component, upgrade to version 8.1.7+incompatible or later. Apply the exact fixed commits listed for each repository if using source builds.

How to confirm the fix worked

Confirm the installed Django version is at or above the fixed releases, review template usage to ensure urlize and urlizetrunc are not applied to untrusted large inputs, and test rendering performance with large payloads after upgrade.

Typical attack path

  1. Locate web endpoints or template rendering paths that accept attacker-controlled strings
  2. Craft an oversized input containing the specific character sequence known to trigger the filter issue
  3. Submit the payload through forms, APIs, or other user-controlled data channels
  4. Observe service degradation or unresponsiveness on the target application

How to detect it

Review web server and application logs for unusually large request bodies or query parameters reaching template rendering paths; monitor for high CPU or memory usage on worker processes handling template filters; correlate request timestamps with service restarts or 5xx errors.

What your security team should do

  • Immediately upgrade all Django instances to the fixed versions provided
  • Scan codebases for use of urlize() and urlizetrunc() on potentially large or untrusted inputs
  • Implement input size limits or sanitization before template rendering where feasible
  • Monitor application logs and resource usage for sudden spikes consistent with filter processing

The record

An issue was discovered in Django 5.1 before 5.1.1, 5.0 before 5.0.9, and 4.2 before 4.2.16. The urlize() and urlizetrunc() template filters are subject to a potential denial-of-service attack via very large inputs with a specific sequence of characters.

Affected packages

Ecosystem Package Introduced Fixed
PyPI django 4.2 4.2.16
PyPI django 5.0 5.0.9
PyPI django 5.1 5.1.1
Bitnami django 4.2.0 4.2.16
Debian:11 python-django 0 No fix
Debian:12 python-django 0 No fix
Debian:13 python-django 0 3:4.2.16-1
Debian:14 python-django 0 3:4.2.16-1
Mageia:9 python-django 0 4.1.13-1.2.mga9
Red Hat:ansible_automation_platform:2.5::el8 automation-controller-venv-tower 0 0:4.6.2-1.el8ap
Red Hat:ansible_automation_platform:2.5::el8 automation-gateway-server 0 0:2.5.3-1.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor-debuginfo 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptor-debugsource 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform:2.5::el8 receptorctl 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform:2.5::el9 automation-controller-venv-tower 0 0:4.6.2-1.el9ap
Red Hat:ansible_automation_platform:2.5::el9 automation-gateway-server 0 0:2.5.3-1.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor-debuginfo 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptor-debugsource 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform:2.5::el9 receptorctl 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el8 automation-controller-venv-tower 0 0:4.6.2-1.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor-debuginfo 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptor-debugsource 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el8 receptorctl 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_developer:2.5::el9 automation-controller-venv-tower 0 0:4.6.2-1.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el9 receptor 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el9 receptor-debuginfo 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el9 receptor-debugsource 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_developer:2.5::el9 receptorctl 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_inside:2.5::el8 receptor 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_inside:2.5::el8 receptor-debuginfo 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_inside:2.5::el8 receptor-debugsource 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_inside:2.5::el8 receptorctl 0 0:1.4.9-2.el8ap
Red Hat:ansible_automation_platform_inside:2.5::el9 receptor 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_inside:2.5::el9 receptor-debuginfo 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_inside:2.5::el9 receptor-debugsource 0 0:1.4.9-2.el9ap
Red Hat:ansible_automation_platform_inside:2.5::el9 receptorctl 0 0:1.4.9-2.el9ap
SUSE:Linux Enterprise Module for Package Hub 15 SP6 python-Django 0 4.2.11-150600.3.9.1
SUSE:Package Hub 15 SP5 python-Django 0 2.2.28-bp155.7.18.1
Ubuntu:20.04:LTS python-django 0 2:2.2.12-1ubuntu0.25
Ubuntu:22.04:LTS python-django 0 2:3.2.12-2ubuntu1.14
Ubuntu:24.04:LTS python-django 0 3:4.2.11-1ubuntu1.3
Ubuntu:24.10 python-django 0 3:4.2.15-1ubuntu1
Ubuntu:25.04 python-django 0 3:4.2.15-1ubuntu1
Ubuntu:Pro:14.04:LTS python-django 0 No fix
Ubuntu:Pro:16.04:LTS python-django 0 No fix
Ubuntu:Pro:18.04:LTS python-django 0 1:1.11.11-1ubuntu1.21+esm7
openSUSE:Leap 15.5 python-Django 0 2.0.7-150000.1.33.1
openSUSE:Leap 15.5 python-Django 0 2.0.7-150000.1.36.1
openSUSE:Leap 15.5 python-Django 0 2.2.28-bp155.7.18.1
openSUSE:Leap 15.6 python-Django 0 4.2.11-150600.3.9.1
openSUSE:Tumbleweed python-Django 0 5.1.1-1.1
openSUSE:Tumbleweed python-Django4 0 4.2.16-1.1
openSUSE:Tumbleweed python-Django6 0 6.0-1.1
pypi Django 4.2 No fix
pypi Django 5.0 No fix
pypi Django 5.1 No fix

Related vulnerabilities