CVE-2024-28865
📋 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
- django-wiki
📦 What is this software?
Django Wiki by Django Wiki Project
⚠️ 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
🎯 Exploit Status
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
allPrevent 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
- https://github.com/django-wiki/django-wiki/commit/8e280fd6c0bd27ce847c67b2d216c6cbf920f88c
- https://github.com/django-wiki/django-wiki/security/advisories/GHSA-wj85-w4f4-xh8h
- https://github.com/django-wiki/django-wiki/commit/8e280fd6c0bd27ce847c67b2d216c6cbf920f88c
- https://github.com/django-wiki/django-wiki/security/advisories/GHSA-wj85-w4f4-xh8h