CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-11607

CVE-2026-11607: Broken Access Control in TYPO3 CMS Form Framework

Amit Schendel
Amit Schendel
Senior Security Researcher

Jun 15, 2026·7 min read·29 visits

Executive Summary (TL;DR)

Authenticated backend users can bypass file extension restrictions to load malicious YAML configurations, executing arbitrary database commands and gaining full administrator privileges.

CVE-2026-11607 is a critical broken access control vulnerability in TYPO3 CMS's Form Framework (ext:form). Authenticated backend users with access to the Form Framework can load unauthorized YAML configurations, bypassing file extension restrictions. This allows the execution of arbitrary SQL commands via the SaveToDatabase finisher, leading to privilege escalation to administrator level.

Vulnerability Overview

CVE-2026-11607 is a broken access control vulnerability (CWE-862) within the Form Framework (ext:form) component of TYPO3 CMS. The Form Framework provides editors with a visual interface and backend modules to create, configure, and maintain interactive web forms. These configurations are serialized and stored as YAML files within designated persistence layers. The vulnerability allows authenticated backend users to bypass established file extension rules and load arbitrary configuration payloads.

Under normal operating conditions, the Form Framework restricts configuration files to the .form.yaml file extension. This restriction acts as a critical security boundary to prevent unauthorized file injection and parsing attacks. An administrative or low-privileged backend user with access to the Form module can, however, bypass this extension check. This vulnerability permits the processing of YAML files lacking the appropriate extension, exposing the underlying parsing engine to maliciously crafted input.

The consequences of this validation failure are severe, as it facilitates a multi-stage attack. By uploading a specially formatted configuration file, attackers can force the system to parse and execute arbitrary instructions. Specifically, the framework executes backend actions configured via form finishers when processing these files. This flaw ultimately enables arbitrary SQL statement execution on the underlying database, leading to full system compromise.

Root Cause Analysis

The root cause of the vulnerability lies in a logical short-circuiting flaw located in FormPersistenceManager.php and AbstractFileStorageAdapter.php. When importing or loading a form definition, the framework validates whether the file extension is secure. This validation check relies on a helper method designed to verify both the internal file structure and the external file extension. The validation logic was structured using a logical AND (&&) operator to perform these verification checks in sequence.

The function generateErrorsIfFormDefinitionIsValidButHasInvalidFileExtension executed two primary functions. First, it checked if the configuration payload structurally resembled a form via looksLikeAFormDefinition. Second, it checked if the file had a valid extension via hasValidFileExtension. Because these checks were joined by an AND operator, the failure of the first check caused the interpreter to skip the second check entirely.

An attacker can exploit this conditional evaluation by crafting a file that does not structurally match a standard form definition initially. Specifically, omitting the expected type: Form pair causes looksLikeAFormDefinition to return a boolean false. The overall conditional statement immediately evaluates to false, which bypasses the exception-throwing block. The system then processes the arbitrary file structure as a valid configuration despite its non-compliant file extension.

Code Analysis

To understand the vulnerable code path, look at the logical operation executed during the file loading sequence. In the vulnerable version, the conditional check was implemented with a logical AND connector. If the parsed structure did not trigger the structural validator, the engine assumed no violation had occurred. The code snippet below illustrates the vulnerable conditional check before the patch was applied.

// Vulnerable logic utilizing short-circuit AND operator
protected function generateErrorsIfFormDefinitionIsValidButHasInvalidFileExtension(array $formDefinition, string $persistenceIdentifier): void
{
    if ($this->looksLikeAFormDefinition($formDefinition) && !$this->hasValidFileExtension($persistenceIdentifier)) {
        throw new PersistenceManagerException(sprintf('Form definition "%s" does not end with ".form.yaml".', $persistenceIdentifier), 1531160649);
    }
}

The patch changes the logic from a logical AND operator (&&) to a logical OR operator (||). By checking if the form definition is invalid OR if the file extension is invalid, the system enforces both criteria. If the structure is missing the appropriate keys, or if the extension is not .form.yaml, the validation block throws an exception. This ensures that the configuration must strictly conform to both structural and metadata constraints before loading.

Reviewing the patch for the file storage adapter shows an identical change to ensure consistent security across adapters. The modification in AbstractFileStorageAdapter.php alters the logic to use the negative OR evaluation mechanism. This parallel adjustment guarantees that alternative storage adapters do not remain vulnerable to the same file validation bypass. The complete implementation now leaves no paths where malformed file extensions can bypass structural validations.

Exploitation Methodology

Exploitation requires an attacker to possess authenticated backend privileges with access to the TYPO3 Form Framework. The attacker first constructs a malicious configuration payload inside a standard text file. This file uses a standard extension such as .yaml or .txt instead of the restricted .form.yaml suffix. The structure is designed to avoid containing the key-value pair type: Form during the initial persistence check.

The malicious YAML file defines a form structure containing a highly privileged database finisher. The Form Framework natively supports the SaveToDatabase finisher, which allows inserting user input directly into database tables. The attacker specifies database columns and insert parameters within the finisher configuration blocks. This configuration dictates the insertion of a new administrative user record into the be_users database table.

After uploading the file to a standard user-accessible directory like fileadmin/, the attacker references the file within the Form module. When the framework parses the file, the logical bypass occurs, and the persistence manager loads the configuration. The attacker then triggers the form processing sequence, executing the SQL instructions embedded in the finisher. This action inserts a new administrator account, allowing the attacker to escalate privileges and take complete control of the CMS.

Impact Assessment

The security impact of CVE-2026-11607 is classified as high, carrying a CVSS score of 7.6. The exploitation pathway allows low-privileged backend users to escalate their privileges to full administrators. This completely compromises the confidentiality, integrity, and availability of the affected TYPO3 installation. Since TYPO3 systems often handle highly sensitive web assets, a compromise at this level exposes the entire host environment.

Once an attacker gains administrative privileges via the database insert mechanism, they can execute arbitrary code. TYPO3 administrators have the capability to install extensions, configure template engines, and execute system commands in some configurations. This permits the deployment of web shells or malicious scripts directly to the underlying web server. Consequently, the exploit serves as a direct vector for remote code execution on the hosting infrastructure.

The vulnerability also presents significant risk to connected databases and internal networks. Attackers can extract sensitive application data, including user credentials, configuration files, and private client databases. The absence of active exploitation in the wild does not diminish the severity of the flaw. Immediate patching is necessary to mitigate the risk of target-specific unauthorized access attempts.

Remediation and Mitigation

The primary remediation strategy is upgrading the TYPO3 installation to the designated secure versions. Security updates are available for all supported release branches, including LTS and ELTS versions. Administrators should consult the official TYPO3 release notes to determine the exact version matching their branch. Applying these updates replaces the vulnerable validation scripts with the corrected logical operators.

For organizations unable to apply immediate updates, temporary workarounds can mitigate the threat vector. Security administrators must audit and restrict user access to the TYPO3 Form Framework module. Disabling form creation permissions for non-admin users blocks the primary pathway required to reference external files. Additionally, implementing strict file upload restrictions on the /fileadmin/ directory prevents the placement of unauthorized YAML assets.

Finally, security teams should implement defensive monitoring and scanning routines across the environment. Analyzing the backend database for newly created administrative accounts helps detect unauthorized privilege escalation. Web Application Firewalls (WAF) can also be configured to block request payloads targeting the form editor endpoints. Continuous monitoring of file modification logs ensures rapid detection of suspicious YAML files within public directories.

Technical Appendix

CVSS Score
7.6/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Affected Systems

TYPO3 CMS
AttributeDetail
CWE IDCWE-862
Attack VectorNetwork
CVSS v4.07.6
EPSS Score0.00414 (0.41%)
ImpactPrivilege Escalation / Database Compromise
Exploit StatusNone
KEV StatusNot Listed
CWE-862
Missing Authorization

Vulnerability Timeline

Vulnerability disclosed in TYPO3-CORE-SA-2026-019
2026-06-09
Patches released for LTS and ELTS versions
2026-06-09

References & Sources

  • [1]TYPO3 Security Advisory TYPO3-CORE-SA-2026-019
  • [2]TYPO3 Git Commit 040d50
  • [3]TYPO3 Git Commit 50974c
  • [4]CVE Record CVE-2026-11607

More Reports

•19 minutes ago•CVE-2026-105744
7.5

CVE-2026-105744: Arbitrary File Read and Remote Code Execution in Docling Tectonic Engine

Docling, a tool for parsing and processing diverse document formats, is vulnerable to arbitrary file read, arbitrary file write, and potential remote code execution (RCE) in versions 2.94.0 through 2.131.0. The vulnerability occurs when applications configure Docling to use the Tectonic engine for rendering TikZ diagrams into images. Because the compilation did not restrict hazardous TeX primitives or sandbox the environment, an attacker can supply crafted documents containing malicious TikZ definitions to access or modify local files and execute arbitrary commands under the privileges of the processing application.

Amit Schendel
Amit Schendel
1 views•7 min read
•about 1 hour ago•CVE-2026-105743
4.0

CVE-2026-105743: Server-Side Request Forgery Guard Bypass in Docling Document Conversion Engine

An SSRF guard bypass vulnerability in the Docling document conversion engine allows unauthenticated attackers to bypass internal IP access controls. The vulnerability exists due to a DNS rebinding Time-of-Check Time-of-Use (TOCTOU) condition, URL authority parsing inconsistencies, and unvalidated network requests triggered during headless browser page rendering.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 2 hours ago•CVE-2026-105742
3.7

CVE-2026-105742: Sensitive Custom Header Leakage in Docling Image Resource Loader

A technical analysis of CVE-2026-105742 (GHSA-p3fw-7699-7926), a sensitive information disclosure vulnerability in the Docling document processing library. Vulnerable versions of Docling indiscriminately forward custom HTTP headers, such as authentication tokens, to arbitrary third-party origins and during cross-origin redirects while fetching remote image assets from untrusted HTML and EPUB documents.

Alon Barad
Alon Barad
5 views•6 min read
•about 3 hours ago•CVE-2026-106121
4.9

CVE-2026-106121: Denial of Service via Infinite Loop in RabbitMQ Java Client JSON Parser

CVE-2026-106121 is a Denial of Service (DoS) vulnerability in the RabbitMQ Java Client library (amqp-client) affecting versions prior to 5.37.0. The vulnerability resides in the legacy, custom JSON-RPC parsing class com.rabbitmq.tools.json.JSONReader. When parsing malformed or truncated payloads ending within a quoted string or single-line comment, the parser's scanner enters an infinite loop. This occurs because the loop lacks an exit condition for the end-of-input sentinel character returned by the iterator, leading to either CPU exhaustion or a JVM crash from an OutOfMemoryError.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 5 hours ago•CVE-2026-105646
4.9

CVE-2026-105646: Regular Expression Denial of Service in Ghost CMS Import Handlers

An authenticated Regular Expression Denial of Service (ReDoS) vulnerability in TryGhost Ghost (CMS) versions 4.0.0 through 6.66.x. An attacker with administrator privileges can upload crafted content import archives containing pathological directory names or migration patterns, triggering exponential backtracking in the Node.js V8 engine.

Alon Barad
Alon Barad
8 views•6 min read
•about 6 hours ago•CVE-2026-105645
4.9

CVE-2026-105645: Regular Expression Denial of Service (ReDoS) in Ghost CMS

CVE-2026-105645 is a regular expression denial of service (ReDoS) vulnerability affecting Ghost, an open-source Node.js content management system. The vulnerability exists within directory import handlers and the external media inliner, allowing authenticated administrators to trigger catastrophic backtracking in the V8 JavaScript engine, resulting in infinite loops, 100% CPU utilization, and total denial of service.

Amit Schendel
Amit Schendel
8 views•6 min read