☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Typo3 logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.4 🐛 CWE-351
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-47939

CVE-2025-47939 Security Advisory in Typo3
📅 PUBLISHED: 2025-05-20 14:00 UTC 🔄 UPDATED: 2026-09-23 20:30 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Germany License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-47939 is a medium-severity vulnerability in the TYPO3 content management system (CMS), affecting versions 9.0.0 through 13.4.12 LTS. The vulnerability resides in the backend file management module, which by design allows the upload of any file type except those directly executable in a web server context. This lack of restriction permits the upload of potentially harmful files, such as executable binaries (e.g., .exe files) or files with inconsistent file extensions and MIME types (e.g., a file named .png but with MIME type application/zip). While these files are not directly executable via the web server, their presence can trigger indirect risks, including false positives from third-party antivirus scanners or malware detection systems, potentially leading to site blocking or reputation damage.

The vulnerability has a CVSS score of 5.4 (Medium) and a low EPSS score of 0.0%, indicating a low probability of active exploitation in the wild. No public proof-of-concept (PoC) or exploit code is currently available. The patch involves upgrading to the specified ELTS or LTS versions, which implement stricter file upload validation.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

TYPO3 is a PHP-based CMS distributed via its official website and package repositories. This vulnerability does not directly affect package managers like NPM, PyPI, Go, or Ruby. However, organizations using TYPO3 should ensure their deployment is updated to the patched versions to mitigate supply chain risks associated with malicious file uploads.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.4 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
  • Attack Vector (AV): Network (N) – The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required for exploitation.
  • Privileges Required (PR): Low (L) – An attacker needs a valid backend user account with file upload permissions.
  • User Interaction (UI): None (N) – No user interaction is required for exploitation.
  • Scope (S): Unchanged (U) – The vulnerability does not affect resources beyond the vulnerable component.
  • Confidentiality Impact (C): None (N) – No direct data disclosure.
  • Integrity Impact (I): Low (L) – The attacker can upload arbitrary files, potentially altering the file system.
  • Availability Impact (A): Low (L) – Indirect availability impact via third-party scanners flagging the site.

Threat Level: Medium. The vulnerability requires authenticated access and does not allow direct code execution. However, it can be used to upload malicious files that may be leveraged in secondary attacks or cause service disruptions.

Deep Dive & Mechanics

The vulnerability is rooted in the file upload functionality of TYPO3's backend file management module. Historically, TYPO3 has allowed the upload of any file type except those that are directly executable in a web server context (e.g., .php, .asp). This design choice was intended to prevent direct code execution but fails to account for other risks.

Key Technical Details:

  • Affected Component: Backend file upload module (e.g., FileController or similar).
  • Root Cause: Insufficient validation of file types and MIME types during upload.
  • Attack Vector: An authenticated backend user with file upload permissions can upload files with arbitrary extensions (e.g., .exe, .zip, .png with mismatched MIME types).
  • Impact:
    • Indirect Risks: Third-party antivirus or malware scanners may flag the uploaded files, leading to site blocking or reputation damage.
    • Potential for Secondary Attacks: Uploaded files could be used in social engineering campaigns (e.g., distributing malware via the trusted domain) or as part of a multi-stage attack.

Why Not Direct Code Execution? The vulnerability explicitly excludes files that are directly executable in a web server context (e.g., PHP scripts). This is because TYPO3 typically runs on a web server configured to execute PHP files, and such files are blocked. However, other file types (e.g., .exe, .zip) are not blocked, leading to the described risks.

Vulnerable vs. Patched Code

The patch introduces stricter file upload validation, likely by checking both the file extension and the MIME type against a whitelist of allowed types. Below is a conceptual comparison.

Vulnerable Code (Conceptual):

// Vulnerable: Only blocks executable extensions
$allowedExtensions = ['jpg', 'png', 'gif', 'pdf', 'doc', 'docx'];
$blockedExtensions = ['php', 'php3', 'php4', 'php5', 'phtml', 'exe', 'bat', 'cmd'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
if (in_array($extension, $blockedExtensions)) {
    // Reject upload
} else {
    // Accept upload
}

Patched Code (Conceptual):

// Patched: Validates both extension and MIME type
$allowedMimeTypes = ['image/jpeg', 'image/png', 'image/gif', 'application/pdf'];
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'pdf'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$mimeType = mime_content_type($tmpFile);
if (in_array($extension, $allowedExtensions) && in_array($mimeType, $allowedMimeTypes)) {
    // Accept upload
} else {
    // Reject upload
}

Note: The actual patch may include additional checks, such as file signature validation or integration with TYPO3's security framework.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A valid TYPO3 backend user account with file upload permissions.
  • Access to the file upload module (e.g., /typo3/file_edit/upload).

Steps:

  1. Authenticate: Log in to the TYPO3 backend.
  2. Navigate to File Upload: Go to the file management module.
  3. Upload Malicious File: Upload a file with a non-executable extension but potentially harmful content, such as:
    • An executable binary (e.g., malware.exe).
    • A file with mismatched extension and MIME type (e.g., image.png with MIME type application/zip).
  4. Verify Upload: Confirm the file is stored on the server.
  5. Leverage for Impact: Use the uploaded file in a social engineering campaign (e.g., share the link to the file) or trigger third-party scanners.

Example Upload Request (HTTP POST):

POST /typo3/file_edit/upload HTTP/1.1
Host: target-typo3-site.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="file"; filename="malware.exe"
Content-Type: application/octet-stream

[Binary content of malware.exe]
------WebKitFormBoundary--

Blue Team (Defense & Detection)

Detection Strategies:

  • Monitor File Uploads: Log all file uploads, including user, filename, extension, MIME type, and file size.
  • Implement File Type Validation: Use server-side validation to check both extension and MIME type against a whitelist.
  • Integrate with Antivirus: Scan uploaded files with an antivirus engine before storing them.
  • User Behavior Analytics: Alert on unusual upload patterns (e.g., multiple uploads of executable files).

Honeypot Setup:

  • Deploy a TYPO3 instance with file upload enabled and monitor for suspicious uploads.
  • Use a fake backend user account with upload permissions to attract attackers.

Indicators of Compromise (IOCs)

  • File Artifacts:
    • Files with extensions .exe, .bat, .cmd, .com, .msi, .scr, .pif, .scr, .vbs, .js, .jar, .zip, .rar, .7z uploaded to the TYPO3 file storage.
    • Files with mismatched MIME types (e.g., a .png file with MIME type application/zip).
  • Network Indicators:
    • HTTP POST requests to /typo3/file_edit/upload or similar endpoints with Content-Type: multipart/form-data.
    • Unusual file sizes (e.g., large executable files).
  • Log Entries:
    • TYPO3 system logs showing file uploads with suspicious extensions.
    • Web server access logs with POST requests to file upload endpoints.

Detection Engineering

YARA Rule

rule Detect_TYPO3_Malicious_Upload_CVE_2025_47939 {
    meta:
        description = "Detects potentially malicious file uploads targeting TYPO3 CVE-2025-47939"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-47939"
    strings:
        $exe_ext = ".exe" nocase
        $bat_ext = ".bat" nocase
        $cmd_ext = ".cmd" nocase
        $zip_mime = "application/zip"
        $png_ext = ".png" nocase
    condition:
        (any of ($exe_ext, $bat_ext, $cmd_ext)) or
        ($png_ext and $zip_mime)
}

Sigma Rule

title: TYPO3 Suspicious File Upload
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects upload of potentially malicious files in TYPO3 backend
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-47939
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/typo3/file_edit/upload'
        cs-uri-query|contains: 'filename='
    condition: selection
falsepositives:
    - Legitimate file uploads by authorized users
level: medium
tags:
    - attack.t1190
    - cve.2025.47939

Suricata Rule

alert http any any -> any any (msg:"TYPO3 CVE-2025-47939 - Suspicious File Upload"; flow:to_server; content:"POST"; http_method; content:"/typo3/file_edit/upload"; http_uri; content:".exe"; http_client_body; sid:1000001; rev:1; reference:cve,2025-47939;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade TYPO3: Update to the latest patched version:
    • 9.5.51 ELTS
    • 10.4.50 ELTS
    • 11.5.44 ELTS
    • 12.4.31 LTS
    • 13.4.12 LTS
  2. Restrict File Upload Permissions: Limit file upload capabilities to trusted users only.
  3. Implement Additional Validation: Use a web application firewall (WAF) to block uploads of suspicious file types.

Long-Term Mitigations:

  • File Type Whitelisting: Configure TYPO3 to only allow specific file types (e.g., images, PDFs) based on both extension and MIME type.
  • Antivirus Integration: Integrate an antivirus scanner (e.g., ClamAV) to scan all uploaded files.
  • Regular Security Audits: Conduct periodic reviews of file upload logs and user permissions.
  • User Training: Educate backend users about the risks of uploading untrusted files.

Workaround (if patching is not immediately possible):

  • Disable the file upload module for non-admin users.
  • Use a reverse proxy to inspect and block malicious file uploads.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-47939/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.