CVE-2024-28865

7.5 HIGH

📋 TL;DR

CVE-2024-28865 is a denial-of-service vulnerability in django-wiki where malicious article content can trigger a regular expression loop causing excessive CPU consumption. This affects all django-wiki installations prior to version 0.10.1. The vulnerability can be exploited by users with article creation or editing permissions.

💻 Affected Systems

Products:
  • django-wiki
Versions: All versions prior to 0.10.1
Operating Systems: All platforms running Django
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default configurations where article editing is enabled

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server unavailability due to CPU exhaustion, potentially affecting all services on the same host

🟠

Likely Case

Severe performance degradation and service disruption for the django-wiki application

🟢

If Mitigated

Minimal impact with proper access controls and monitoring in place

🌐 Internet-Facing: HIGH - Publicly accessible wikis allow unauthenticated exploitation if anonymous editing is enabled
🏢 Internal Only: MEDIUM - Requires authenticated users with editing permissions

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only the ability to create or edit articles, which may be available to anonymous users in default configurations

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.10.1

Vendor Advisory: https://github.com/django-wiki/django-wiki/security/advisories/GHSA-wj85-w4f4-xh8h

Restart Required: Yes

Instructions:

1. Backup your current installation. 2. Update django-wiki: pip install django-wiki==0.10.1. 3. Restart your Django application server. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable anonymous article editing

all

Prevent unauthenticated users from creating or editing articles to reduce attack surface

Configure django-wiki settings to restrict article creation/editing to authenticated users only

🧯 If You Can't Patch

  • Implement strict access controls to limit article editing to trusted users only
  • Deploy rate limiting and monitoring for CPU spikes from wiki endpoints

🔍 How to Verify

Check if Vulnerable:

Check django-wiki version: pip show django-wiki | grep Version

Check Version:

pip show django-wiki | grep Version

Verify Fix Applied:

Confirm version is 0.10.1 or higher: pip show django-wiki | grep Version

📡 Detection & Monitoring

Log Indicators:

  • Unusual CPU spikes
  • Multiple article edit requests from single IP
  • Long-running requests to article endpoints

Network Indicators:

  • High volume of POST requests to /wiki/create/ or /wiki/edit/ endpoints

SIEM Query:

source="django" AND (uri_path="/wiki/create/" OR uri_path="/wiki/edit/") AND status=200 | stats count by src_ip

🔗 References

📤 Share & Export