CVE-2024-12233
📋 TL;DR
CVE-2024-12233 is a critical unrestricted file upload vulnerability in code-projects Online Notice Board that allows attackers to upload malicious files via the profile picture handler. This can lead to remote code execution, compromising the entire web application. All users running Online Notice Board version 1.0 or earlier are affected.
💻 Affected Systems
- code-projects Online Notice Board
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete server compromise through remote code execution, allowing attackers to execute arbitrary commands, steal data, install malware, or pivot to internal networks.
Likely Case
Webshell deployment leading to data theft, defacement, or use as a foothold for further attacks.
If Mitigated
File uploads blocked or properly validated, preventing malicious file execution.
🎯 Exploit Status
Exploit details are publicly available on GitHub. The vulnerability requires no authentication and has simple exploitation steps.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: unknown
Vendor Advisory: https://code-projects.org/
Restart Required: No
Instructions:
No official patch available. Consider workarounds or migrating to alternative software.
🔧 Temporary Workarounds
Disable Profile Picture Upload
allRemove or disable the profile picture upload functionality in /registration.php
# Edit registration.php to remove img parameter handling or disable upload feature
Implement File Upload Restrictions
allAdd server-side validation to restrict file types, extensions, and content
# Add PHP validation: check file extension, MIME type, and scan for malicious content
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block malicious file uploads
- Isolate the application in a restricted network segment with no internet access
🔍 How to Verify
Check if Vulnerable:
Check if Online Notice Board version is 1.0 or earlier and if /registration.php accepts file uploads without proper validation
Check Version:
# Check version in application files or documentation
Verify Fix Applied:
Test file upload functionality with various file types to ensure only allowed extensions are accepted
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to /registration.php
- Execution of unexpected files in web directories
- Webshell access patterns
Network Indicators:
- POST requests to /registration.php with file uploads
- Unusual outbound connections from web server
SIEM Query:
source="web_logs" AND uri="/registration.php" AND method="POST" AND (file_extension="php" OR file_extension="jsp" OR file_extension="asp")