[FEATURE] Implement SameSite option for TYPO3 cookies
This change introduces a new security option for setting the SameSite option to all cookies sent by TYPO3 Core. Namely: - Frontend User Sessions ("lax" by default) - Backend User Sessions ("strict" by default) - Install Tool Sessions ("strict", none-configurable) - Last Login Provider in Backend ("strict", non-configurable) This means that these can only be accessed by scripts and requests by the same site, and not by any third-party scripts. Since we're talking about actual cookies for a user, and not ads-related or third-party login-dependant cookies, the default options fit just perfectly. All modern browsers except Internet Explorer respect this option to be set. Please note that Firefox and Chrome will have "SameSite=lax" set in Q1/2020 by default if NO SameSite option is set at all. This change allows to configure this. Backend and Frontend User Cookies can be configured to "strict", "lax" or "none" (= same as before), whereas "none" only works for secure connections (= HTTPS). If "strict" is in place, security via CSRF is not needed anymore, and can be dropped in the future. Resolves: #90351 Releases: master, 9.5, 8.7 Change-Id: I8095e2a552faa9d1fd4fa7855297302a9ec6a75f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63183 Tested-by:Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
Showing
- composer.json 1 addition, 0 deletionscomposer.json
- composer.lock 56 additions, 56 deletionscomposer.lock
- typo3/sysext/backend/Classes/Controller/LoginController.php 17 additions, 2 deletionstypo3/sysext/backend/Classes/Controller/LoginController.php
- typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php 36 additions, 1 deletion...ore/Classes/Authentication/AbstractUserAuthentication.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 2 additions, 0 deletionstypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml 14 additions, 0 deletions...t/core/Configuration/DefaultConfigurationDescription.yaml
- typo3/sysext/core/Documentation/Changelog/8.7.x/Feature-90351-ConfigureTYPO3-shippedCookiesWithSameSiteFlag.rst 60 additions, 0 deletions...e-90351-ConfigureTYPO3-shippedCookiesWithSameSiteFlag.rst
- typo3/sysext/core/composer.json 1 addition, 0 deletionstypo3/sysext/core/composer.json
- typo3/sysext/install/Classes/Service/SessionService.php 40 additions, 0 deletionstypo3/sysext/install/Classes/Service/SessionService.php
Please register or sign in to comment