[!!!][FEATURE] Introduce CSRF-like request-token handling
A CSRF-like request-token handling has been introduced, to mitigate potential cross-site requests on actions with side-effects. This approach does not require an existing server-side user session, but uses a nonce (number used once) as a "pre-session". The main scope is to ensure a user actually has visited a page, before submitting data to the web server. Introduces package https://packagist.org/packages/firebase/php-jwt > composer req firebase/php-jwt Besides that, AbstractUserAuthentication has been changed to require this introduced request-token, to mitigate Login CSRF attacks. The security enhancement potentially break custom login templates and application handlers - this is why it is introduced and enforced for TYPO3 v12.0. Resolves: #97305 Releases: main Change-Id: I74d9e1890017aae4a00999f549ea04716d68f721 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74183 Reviewed-by:Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
Showing
- composer.json 1 addition, 0 deletionscomposer.json
- composer.lock 67 additions, 5 deletionscomposer.lock
- typo3/sysext/backend/Classes/Controller/LoginController.php 10 additions, 0 deletionstypo3/sysext/backend/Classes/Controller/LoginController.php
- typo3/sysext/backend/Configuration/RequestMiddlewares.php 9 additions, 0 deletionstypo3/sysext/backend/Configuration/RequestMiddlewares.php
- typo3/sysext/backend/Resources/Private/Layouts/Login.html 1 addition, 0 deletionstypo3/sysext/backend/Resources/Private/Layouts/Login.html
- typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php 19 additions, 0 deletions...ore/Classes/Authentication/AbstractUserAuthentication.php
- typo3/sysext/core/Classes/Context/SecurityAspect.php 107 additions, 0 deletionstypo3/sysext/core/Classes/Context/SecurityAspect.php
- typo3/sysext/core/Classes/Middleware/RequestTokenMiddleware.php 163 additions, 0 deletions...sysext/core/Classes/Middleware/RequestTokenMiddleware.php
- typo3/sysext/core/Classes/Security/JwtTrait.php 108 additions, 0 deletionstypo3/sysext/core/Classes/Security/JwtTrait.php
- typo3/sysext/core/Classes/Security/Nonce.php 90 additions, 0 deletionstypo3/sysext/core/Classes/Security/Nonce.php
- typo3/sysext/core/Classes/Security/NonceException.php 27 additions, 0 deletionstypo3/sysext/core/Classes/Security/NonceException.php
- typo3/sysext/core/Classes/Security/NoncePool.php 168 additions, 0 deletionstypo3/sysext/core/Classes/Security/NoncePool.php
- typo3/sysext/core/Classes/Security/RequestToken.php 120 additions, 0 deletionstypo3/sysext/core/Classes/Security/RequestToken.php
- typo3/sysext/core/Classes/Security/RequestTokenException.php 27 additions, 0 deletionstypo3/sysext/core/Classes/Security/RequestTokenException.php
- typo3/sysext/core/Classes/Security/SecretIdentifier.php 60 additions, 0 deletionstypo3/sysext/core/Classes/Security/SecretIdentifier.php
- typo3/sysext/core/Classes/Security/SigningProviderInterface.php 41 additions, 0 deletions...sysext/core/Classes/Security/SigningProviderInterface.php
- typo3/sysext/core/Classes/Security/SigningSecretInterface.php 36 additions, 0 deletions...3/sysext/core/Classes/Security/SigningSecretInterface.php
- typo3/sysext/core/Classes/Security/SigningSecretResolver.php 73 additions, 0 deletionstypo3/sysext/core/Classes/Security/SigningSecretResolver.php
- typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst 74 additions, 0 deletions...elog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst
- typo3/sysext/core/Documentation/Changelog/12.0/Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst 155 additions, 0 deletions...Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst
Please register or sign in to comment