Cross-Site-Request-Forgery in Backend URI Handling in Typo3
Description
TYPO3 is an open source PHP based web content management system released under the GNU GPL. It has been discovered that the new TYPO3 v11 feature that allows users to create and share deep links in the backend user interface is vulnerable to cross-site-request-forgery. The impact is the same as described in TYPO3-CORE-SA-2020-006 (CVE-2020-11069). However, it is not limited to the same site context and does not require the attacker to be authenticated. In a worst case scenario, the attacker could create a new admin user account to compromise the system. To successfully carry out an attack, an attacker must trick his victim to access a compromised system. The victim must have an active session in the TYPO3 backend at that time. The following Same-Site cookie settings in $GLOBALS[TYPO3_CONF_VARS][BE][cookieSameSite] are required for an attack to be successful: SameSite=strict: malicious evil.example.org invoking TYPO3 application at good.example.org and SameSite=lax or none: malicious evil.com invoking TYPO3 application at example.org. Update your instance to TYPO3 version 11.5.0 which addresses the problem described.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
TYPO3 v11 deep link feature is vulnerable to CSRF allowing unauthenticated attackers to create admin accounts when victims access malicious sites.
Vulnerability
CVE-2021-41113 affects TYPO3 v11, specifically the new feature for creating and sharing deep links in the backend user interface. This feature is vulnerable to cross-site request forgery (CSRF). Unlike the related CVE-2020-11069 [1], this vulnerability does not require the attacker to be authenticated and is not limited to same-site context. The required configuration involves Same-Site cookie settings: with SameSite=strict, the attack works cross-site (e.g., malicious evil.example.org targeting good.example.org); with SameSite=lax or none, the attack works cross-origin (e.g., malicious evil.com targeting example.org). Affected versions are TYPO3 v11 before 11.5.0 [2].
Exploitation
An attacker does not need authentication. The victim must have an active TYPO3 backend session and be tricked into visiting a compromised system controlled by the attacker. The attacker can craft a malicious link or resource that triggers a CSRF request to the TYPO3 backend, leveraging the deep link functionality. The attack can succeed across different sites depending on SameSite cookie settings. The victim's browser will execute the request with the victim's session cookies, performing unintended actions [2].
Impact
Successful exploitation allows an attacker to perform actions with the privileges of the victim's backend user session. In a worst-case scenario, the attacker could create a new admin user account, leading to full compromise of the TYPO3 system. This impact is the same as CVE-2020-11069 [1] [4], but with broader cross-site scope.
Mitigation
The issue is fixed in TYPO3 version 11.5.0, released in October 2021 [2] [3]. Users should update to this version or later. No workarounds are provided in the available references. The fix involves proper CSRF protection for the deep link feature. There is no indication of CVE-2021-41113 being listed on KEV.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
typo3/cms-corePackagist | >= 11.2.0, < 11.5.0 | 11.5.0 |
typo3/cmsPackagist | >= 11.2.0, < 11.5.0 | 11.5.0 |
Affected products
4- osv-coords3 versions
>= 11.2.0, < 11.5.0+ 2 more
- (no CPE)range: >= 11.2.0, < 11.5.0
- (no CPE)range: >= 11.2.0, < 11.5.0
- (no CPE)range: >= 11.2.0, < 11.5.0
Patches
1fa51999203c5[SECURITY] Mitigate CSRF in backend deeplinking
3 files changed · +50 −0
typo3/sysext/backend/Classes/Routing/RouteRedirect.php+14 −0 modified@@ -21,6 +21,7 @@ use TYPO3\CMS\Backend\Routing\Exception\MethodNotAllowedException; use TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException; use TYPO3\CMS\Backend\Routing\Exception\RouteTypeNotAllowedException; +use TYPO3\CMS\Core\Utility\ArrayUtility; /** * A value object representing redirects within Backend routing. @@ -133,5 +134,18 @@ public function resolve(Router $router): void 1627407452 ); } + $settings = $route->getOption('redirect'); + if (($settings['enable'] ?? false) !== true) { + throw new RouteNotFoundException( + sprintf('Route "%s" cannot be redirected', $this->name), + 1627407511 + ); + } + // Only use allowed arguments, if set, otherwise no parameters are allowed + if (!empty($settings['parameters'])) { + $this->parameters = ArrayUtility::intersectRecursive($this->parameters, (array)$settings['parameters']); + } else { + $this->parameters = []; + } } }
typo3/sysext/backend/Configuration/Backend/Routes.php+24 −0 modified@@ -133,11 +133,23 @@ 'db_new' => [ 'path' => '/record/new', 'target' => Controller\NewRecordController::class . '::mainAction', + 'redirect' => [ + 'enable' => true, + 'parameters' => [ + 'id' => true, + ], + ], ], 'db_new_pages' => [ 'path' => '/record/new-page', 'target' => Controller\NewRecordController::class . '::newPageAction', + 'redirect' => [ + 'enable' => true, + 'parameters' => [ + 'id' => true, + ], + ], ], // Register sort pages @@ -150,6 +162,12 @@ 'pages_new' => [ 'path' => '/pages/new', 'target' => Controller\Page\NewMultiplePagesController::class . '::mainAction', + 'redirect' => [ + 'enable' => true, + 'parameters' => [ + 'id' => true, + ], + ], ], // Register new content element module (used in a modal) @@ -208,6 +226,12 @@ 'record_edit' => [ 'path' => '/record/edit', 'target' => Controller\EditDocumentController::class . '::mainAction', + 'redirect' => [ + 'enable' => true, + 'parameters' => [ + 'edit' => true, + ], + ], ], // Thumbnails
typo3/sysext/core/Documentation/Changelog/11.2/Feature-93988-BackendModuleURLsReflectIntoBrowserAddressbar.rst+12 −0 modified@@ -25,4 +25,16 @@ Impact Editors can share links to certain records or include these in bug reports. +This feature is enabled for all modules. For non-module routes this feature +will only work if configured via `Routes.php` by adding a `redirect` section: + +:php: + 'redirect' => [ + 'enable' => true, + // Transferred parameters when redirecting + 'parameters' => [ + 'my-parameter-name' => true + ] + ], + .. index:: Backend, JavaScript, ext:backend
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- github.com/advisories/GHSA-657m-v5vm-f6rwghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2020-11069ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2021-41113ghsaADVISORY
- github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2021-41113.yamlghsaWEB
- github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2021-41113.yamlghsaWEB
- github.com/TYPO3/typo3/commit/fa51999203c5e5d913ecae5ea843ccb2b95fa33fghsax_refsource_MISCWEB
- github.com/TYPO3/typo3/security/advisories/GHSA-657m-v5vm-f6rwghsax_refsource_CONFIRMWEB
- typo3.org/security/advisory/typo3-core-sa-2020-006ghsax_refsource_MISCWEB
- typo3.org/security/advisory/typo3-core-sa-2021-014ghsaWEB
News mentions
0No linked articles in our index yet.