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-19418

CVE-2026-19418: Broken Access Control and Cross-Site Request Forgery in TYPO3 CMS Core

Alon Barad
Alon Barad
Software Engineer

Sep 1, 2026·5 min read·3 visits

Executive Summary (TL;DR)

Architectural unification of TYPO3 entry points broke the referrer-based isolation boundary, allowing frontend scripts (such as those injected via XSS) to make unauthorized administrative requests on behalf of active backend users.

CVE-2026-19418 is a high-severity origin validation vulnerability in TYPO3 CMS that enables Cross-Site Request Forgery (CSRF) and access control bypasses. Due to architectural consolidation of entry points in version 13.0, the core ReferrerEnforcer fails to isolate backend endpoints from the frontend, allowing an attacker with frontend script execution capabilities to perform unauthorized administrative actions.

Vulnerability Overview

CVE-2026-19418 represents a regression in the boundary isolation mechanisms of the TYPO3 CMS core, specifically affecting the Backend (ext:backend) and Install Tool (ext:install) subcomponents. In TYPO3, administrative and configuration endpoints are protected against unauthorized requests by evaluating the request origin.

Historically, this boundary was maintained by comparing the referrer path against the physical script directories. The architectural consolidation in TYPO3 v13.0, which unified the entry points for frontend and backend under the site root script, unintentionally disabled this protection mechanism.

The vulnerability is classified under CWE-346 (Origin Validation Error) and CWE-352 (Cross-Site Request Forgery). The consequence is a cross-application security boundary failure, permitting frontend code to interact seamlessly with sensitive administrative routes.

Technical Root Cause Analysis

The flaw lies within the referrer verification logic implemented in TYPO3\CMS\Core\Http\Security\ReferrerEnforcer. Prior to TYPO3 v13.0, backend routes resolved to a sub-path such as https://example.com/typo3/. This distinct subfolder was matched against the $this->requestDir parameter during request processing.

In TYPO3 v13.0, both frontend and backend entry points were consolidated to /index.php at the site root. As a consequence, the resolved $this->requestDir parameter became /. When evaluating a request, the enforcer executes str_starts_with($referrer, $requestDir) to determine same-origin access.

Because every frontend URL begins with the site root path, any request initiated from a frontend page (e.g., https://example.com/blog) is incorrectly marked as TYPE_REFERRER_SAME_ORIGIN | TYPE_REFERRER_SAME_SITE. This misclassification treats generic frontend origins with the same authority as backend admin panels, breaking the privilege boundary.

Code-Level Vulnerability & Fix Analysis

The vulnerable component in ReferrerEnforcer.php evaluated referrers using a generic comparison against the request directory.

// Vulnerable code in TYPO3 v13.0.0 - 13.4.33
protected function resolveReferrerType(ServerRequestInterface $request, string $requestHost, string $requestDir): int
{
    $referrer = $request->getServerParams()['HTTP_REFERER'] ?? '';
    if ($referrer === '') {
        return self::TYPE_REFERRER_EMPTY;
    }
    // All paths starting with the root request directory (/) were treated as Same-Origin
    if (str_starts_with($referrer, $requestDir)) {
        return self::TYPE_REFERRER_SAME_ORIGIN | self::TYPE_REFERRER_SAME_SITE;
    }
    // ...
}

The patch addresses this structural vulnerability by making ReferrerEnforcer abstract and establishing discrete enforcers for the backend and the install tool. The backend enforcer uses BackendEntryPointResolver to dynamically resolve the explicit administrative subfolder path, while the install tool enforcer explicitly validates the exact query parameters of the entry point.

// Patched backend logic in TYPO3 v13.4.34 / 14.3.6
protected function resolveReferrerType(ServerRequestInterface $request): int
{
    $referrer = $request->getServerParams()['HTTP_REFERER'] ?? '';
    if ($referrer === '') {
        return self::TYPE_REFERRER_EMPTY;
    }
    // Dynamically retrieve the explicit backend entry point (e.g., /typo3/)
    $entryPointUri = $this->backendEntryPointResolver->getUriFromRequest($request);
    if (str_starts_with($referrer, (string)$entryPointUri)) {
        return self::TYPE_REFERRER_SAME_ORIGIN | self::TYPE_REFERRER_SAME_SITE;
    }
    // Generic site domain referrers are strictly classified as Same-Site (non-privileged)
    $requestHost = rtrim($this->resolveRequestHost($request), '/') . '/';
    if (str_starts_with($referrer, $requestHost)) {
        return self::TYPE_REFERRER_SAME_SITE;
    }
    return 0;
}

Exploit Vector & Methodology

An attacker can exploit this vulnerability to perform unauthorized actions by chaining it with a frontend scripting capability, such as stored or reflected Cross-Site Scripting (XSS). The vulnerability requires an active session of a TYPO3 backend administrator.

When the administrator visits a frontend page containing the attacker's payload, the browser automatically executes the script. Since the script is running under the site's domain context, the browser will attach the administrator's active session cookies to any requests directed to the backend route.

The payload issues a fetch or XMLHttpRequest request to administrative endpoints. The browser appends the Referer header corresponding to the current frontend page. Due to the vulnerable ReferrerEnforcer logic, the TYPO3 core accepts this referrer as identical to the backend origin, executing the payload actions.

// Conceptual XSS payload running on the frontend domain
fetch('https://victim-typo3.com/typo3/index.php?route=/ajax/some-admin-action', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'X-Requested-With': 'XMLHttpRequest'
    },
    body: JSON.stringify({
        action: 'create_admin',
        username: 'backdoor_user',
        password: 'Password123!'
    }),
    credentials: 'include' // Attaches administrative session cookies
});

Security Impact & Attack Path

The overall security impact is high, as defined by its CVSS score of 7.3. Exploitation leads to complete administrative compromise of the CMS instance, allowing attackers to manipulate system configurations, dump database contents, and execute arbitrary code on the underlying web server.

The attack path can be modeled as follows:

Because the Install Tool endpoints are also affected, attackers can write files, modify database tables, or install malicious extensions to secure persistent web shells, escalating the initial client-side execution to remote code execution (RCE) on the host environment.

Mitigation and Defense Strategy

The primary and most effective remediation is upgrading the TYPO3 core. Administrators running TYPO3 v13 must upgrade to version 13.4.34 LTS or later, and those on v14 must upgrade to version 14.3.6 LTS or later.

When immediate upgrading is not possible, organizations should deploy a strict Content Security Policy (CSP). Restricting the script sources (script-src) to nonces or trusted hashes and disabling 'unsafe-inline' prevents the execution of the initial XSS vectors that trigger the CSRF bypass.

Additionally, Web Application Firewalls (WAFs) can be configured to inspect backend requests. Any request targeting administrative paths under /typo3/ that contains a Referer header lacking the explicit backend subdirectory prefix should be dropped or flagged for investigation.

Official Patches

TYPO3 AssociationOfficial TYPO3 Security Advisory TYPO3-CORE-SA-2026-021

Fix Analysis (3)

Technical Appendix

CVSS Score
7.3/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS Probability
0.21%
Top 89% most exploited

Affected Systems

TYPO3 CMS Backend and Admin/Install Tool (ext:backend, ext:install)

Affected Versions Detail

Product
Affected Versions
Fixed Version
TYPO3 CMS
TYPO3 Association
>= 13.0.0, < 13.4.3413.4.34 LTS
TYPO3 CMS
TYPO3 Association
>= 14.0.0, < 14.3.614.3.6 LTS
AttributeDetail
CWE IDCWE-346, CWE-352
Attack VectorNetwork (requires administrative user session & client-side script execution)
CVSS Score7.3 (High)
EPSS Score0.00213 (Percentile: 11.47%)
ImpactFull Administrative Compromise / Unauthorized Configuration Changes
Exploit Statuspoc
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1189Drive-by Compromise
Initial Access
CWE-346
Origin Validation Error

The software does not properly verify that the source of a request is valid or expected, allowing origin validation errors and potential CSRF bypasses.

Vulnerability Timeline

Vulnerability reported internally to TYPO3 Security Team
2026-08-11
Fix commits authored and reviewed
2026-08-11
Coordinated Security Advisory TYPO3-CORE-SA-2026-021 published
2026-08-11
CVE-2026-19418 assigned and published
2026-08-11

References & Sources

  • [1]TYPO3-CORE-SA-2026-021
  • [2]Related Advisory TYPO3-CORE-SA-2020-006 (CVE-2020-11069)
Related Vulnerabilities
CVE-2020-11069

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•30 minutes ago•CVE-2026-84307
3.7

CVE-2026-84307: Authentication Oracle and Multi-Factor Authentication Challenge Leak in Filament

An authentication oracle vulnerability exists in Filament before 4.12.5 and 5.7.5. The application initiates MFA challenge workflows prior to verifying user authorization policies, allowing unauthenticated attackers to validate guessed credentials.

Alon Barad
Alon Barad
0 views•6 min read
•about 1 hour ago•CVE-2026-84306
6.5

CVE-2026-84306: Multi-Factor Authentication Bypass via Replay Attack in Filament

A multi-factor authentication bypass vulnerability exists in Filament (Laravel full-stack framework panels) due to improper time-step tracking of Time-Based One-Time Password (TOTP) codes. By submitting valid TOTP codes from an older time window within the drift allowance, an attacker with a user's password can bypass the single-use MFA guarantee and obtain unauthorized account access.

Alon Barad
Alon Barad
3 views•7 min read
•about 4 hours ago•CVE-2026-84304
8.7

CVE-2026-84304: Uncontrolled Resource Consumption in gRPC-Go HTTP/2 Frame Processing

CVE-2026-84304 is a high-severity uncontrolled resource consumption vulnerability in gRPC-Go, the Go implementation of the gRPC framework. The issue stems from a memory amplification flaw inside the HTTP/2 DATA frame processing subsystem. Remote, unauthenticated attackers can exploit this vulnerability by sending a high volume of heavily fragmented, tiny DATA frames within multiplexed concurrent streams. This causes gRPC-Go servers to allocate excessive internal metadata structures on the Go heap, leading to severe heap memory amplification, intense garbage collection thrashing, and process termination due to Out-of-Memory (OOM) conditions.

Alon Barad
Alon Barad
3 views•7 min read
•about 5 hours ago•CVE-2026-79675
9.8

CVE-2026-79675: JVM Argument Injection in Natural Language Toolkit (NLTK) Stanford Wrappers

CVE-2026-79675 is a critical command injection vulnerability in NLTK versions prior to 3.10.3 that permits remote attackers to execute arbitrary code on the hosting system. This vulnerability stems from an incomplete mitigation of a previous vulnerability, CVE-2026-12841. While NLTK verified global JVM options configured through the library's setup routines, it failed to perform equivalent safety checks on options provided during per-call invocations of Stanford NLP Java wrappers. Attackers controlling these parameters can pass dangerous Java configuration options to the system shell, bypassing security boundaries to spawn interactive processes or load untrusted Java archives.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 6 hours ago•CVE-2026-73228
5.3

CVE-2026-73228: Uncontrolled Resource Consumption (DATA_UPLOAD_MAX_MEMORY_SIZE Bypass) in Django REST Framework

A vulnerability in Django REST Framework (DRF) before version 3.17.2 allows remote attackers to bypass the native Django DATA_UPLOAD_MAX_MEMORY_SIZE limits. When parsing JSON or URL-encoded request bodies, DRF's JSONParser and FormParser read directly from the low-level HTTP network stream, bypassing Django's high-level request size checks and causing Denial of Service (DoS) via resource exhaustion.

Alon Barad
Alon Barad
7 views•6 min read
•about 6 hours ago•GHSA-2RX9-3G3H-C2JV
8.1

GHSA-2rx9-3g3h-c2jv: Path Traversal Vulnerability in pacquet Lockfile Parser and Filesystem Sinks

A directory traversal vulnerability exists in pacquet, the Rust port of pnpm. When executing an install with the --trust-lockfile flag enabled, a crafted pnpm-lock.yaml file bypasses resolution-policy verification. This allows an attacker to inject path traversal sequences into package names or versions, leading to symbolic links being written outside the workspace directory.

Amit Schendel
Amit Schendel
4 views•5 min read