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·11 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

•about 1 hour ago•CVE-2026-52837
6.9

CVE-2026-52837: Unauthenticated PII Leakage in Easy!Appointments Booking Reschedule Endpoint

An unauthenticated Personally Identifiable Information (PII) disclosure vulnerability exists in Easy!Appointments versions up to and including 1.5.2. Requesting the booking reschedule endpoint with a valid appointment hash causes the system to embed the raw customer database record into the HTML response as inline JavaScript variables, exposing sensitive details. This includes email addresses, phone numbers, physical addresses, custom database metadata, and internal directory configurations such as LDAP DNs. The vulnerability has been resolved in version 1.6.0.

Amit Schendel
Amit Schendel
1 views•12 min read
•about 2 hours ago•CVE-2026-52841
3.1

CVE-2026-52841: Authorization Bypass in Easy!Appointments Google OAuth Provider Binding

An authorization bypass vulnerability exists in Easy!Appointments before version 1.6.0. The application fails to validate ownership of the provider ID during the Google OAuth synchronization process. This allows authenticated backend users to link their personal Google Calendars to peer providers, leading to unauthorized access to scheduled appointments and associated customer metadata.

Amit Schendel
Amit Schendel
4 views•6 min read
•about 3 hours ago•CVE-2026-52838
2.6

CVE-2026-52838: Stored Cross-Site Scripting via Booking Disabled Message in Easy!Appointments

This report provides a comprehensive technical teardown of CVE-2026-52838 (GHSA-996f-334j-67g7), a stored Cross-Site Scripting (XSS) vulnerability in Easy!Appointments. The flaw occurs in how the application manages the 'booking disabled' custom message configuration, allowing high-privileged administrators to persist unsanitized payloads that execute on unauthenticated guest landing pages.

Alon Barad
Alon Barad
4 views•6 min read
•about 4 hours ago•CVE-2026-54574
8.2

CVE-2026-54574: Symlink Escape and Arbitrary Host File Write in proot-distro

CVE-2026-54574 (GHSA-9xq3-3fqg-4vg7) is a critical Symlink Escape and Arbitrary Host File Write vulnerability in proot-distro, an open-source utility for managing rootless PRoot containers on Termux and general Linux environments. The vulnerability is rooted in an asymmetric validation flaw during the archive extraction process of container installations, Docker/OCI layers, and container backup restorations. While the extraction engine successfully validated file names to prevent standard directory traversal (e.g., rejecting components containing '..'), it failed to validate symbolic link targets. An attacker could craft a malicious tar archive or container image that plants an absolute host-path symlink. Subsequent file members within the same archive could then traverse through this symlink, writing arbitrary files directly onto the host filesystem under the privileges of the executing process.

Amit Schendel
Amit Schendel
6 views•5 min read
•about 5 hours ago•CVE-2026-54727
8.2

CVE-2026-54727: Container Isolation Bypass in proot-distro via Malicious Restore Archive

A container isolation bypass vulnerability exists in proot-distro prior to version 5.1.6. The utility accepted hardlink entries pointing outside the container directory being restored, allowing cross-container file read and write capabilities.

Amit Schendel
Amit Schendel
5 views•5 min read
•about 6 hours ago•CVE-2026-54680
9.9

CVE-2026-54680: Remote Code Execution via Fluentd Configuration Injection in Logging Operator

A critical security flaw (CVE-2026-54680) in the Kubernetes Logging Operator allows authenticated attackers with namespace-level access to craft malicious Custom Resources that inject arbitrary configuration directives into the downstream Fluentd logging aggregator, resulting in unauthenticated remote code execution (RCE) in the context of the aggregator pod.

Alon Barad
Alon Barad
5 views•7 min read