[!!!][SECURITY] Deny direct FAL commands for form definitions
Before this change, form definitions have been persisted in regular `.yaml` files. In order to make the meaning and purpose of those files more explicit, the new file ending `.form.yaml` is introduced. Invocations of the file abstraction layer API for those form files have to be allowed explicitly by granting commands individually using `FilePersistenceSlot::allowInvocation`. New form definitions are created with the new file ending per default. An upgrade wizard renames existing form definitions that are stored in according storage folders (`allowedFileMounts`). In addition references in FlexForm of content elements are adjusted to the new file names as well - in case a form definition has been referenced before. The file list user interface disabled according direct actions for `.form.yaml` files or redirects those to the according form module. Using just `.yaml` instead of `.form.yaml` from site packages is deprecated. Using just `.yaml` instead of `.form.yaml` from file storages is not allowed anymore. Resolves: #84910 Releases: master, 8.7 Security-Commit: 444f9dc4f1902871391bd1f139d19b46a63a162f Security-Bulletin: TYPO3-CORE-SA-2018-003 Change-Id: I456c03f745e614729cdbf2915efc6b5e6d11fc0f Reviewed-on: https://review.typo3.org/57561 Reviewed-by:Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
Showing
- typo3/sysext/core/Classes/Resource/ResourceStorage.php 4 additions, 3 deletionstypo3/sysext/core/Classes/Resource/ResourceStorage.php
- typo3/sysext/core/Classes/Utility/File/ExtendedFileUtility.php 4 additions, 0 deletions.../sysext/core/Classes/Utility/File/ExtendedFileUtility.php
- typo3/sysext/core/Documentation/Changelog/8.7.x/Important-84910-DenyDirectFALCommandsForFormDefinitions.rst 53 additions, 0 deletions...portant-84910-DenyDirectFALCommandsForFormDefinitions.rst
- typo3/sysext/form/Classes/Hooks/DataStructureIdentifierHook.php 8 additions, 1 deletion...sysext/form/Classes/Hooks/DataStructureIdentifierHook.php
- typo3/sysext/form/Classes/Hooks/FileListEditIconsHook.php 51 additions, 0 deletionstypo3/sysext/form/Classes/Hooks/FileListEditIconsHook.php
- typo3/sysext/form/Classes/Hooks/FormFileExtensionUpdate.php 390 additions, 0 deletionstypo3/sysext/form/Classes/Hooks/FormFileExtensionUpdate.php
- typo3/sysext/form/Classes/Hooks/FormFileProvider.php 103 additions, 0 deletionstypo3/sysext/form/Classes/Hooks/FormFileProvider.php
- typo3/sysext/form/Classes/Hooks/FormPagePreviewRenderer.php 14 additions, 2 deletionstypo3/sysext/form/Classes/Hooks/FormPagePreviewRenderer.php
- typo3/sysext/form/Classes/Hooks/ImportExportHook.php 41 additions, 0 deletionstypo3/sysext/form/Classes/Hooks/ImportExportHook.php
- typo3/sysext/form/Classes/Mvc/Configuration/YamlSource.php 40 additions, 0 deletionstypo3/sysext/form/Classes/Mvc/Configuration/YamlSource.php
- typo3/sysext/form/Classes/Mvc/Persistence/FormPersistenceManager.php 151 additions, 56 deletions...t/form/Classes/Mvc/Persistence/FormPersistenceManager.php
- typo3/sysext/form/Classes/Slot/FilePersistenceSlot.php 307 additions, 0 deletionstypo3/sysext/form/Classes/Slot/FilePersistenceSlot.php
- typo3/sysext/form/Classes/Slot/FormDefinitionPersistenceException.php 23 additions, 0 deletions.../form/Classes/Slot/FormDefinitionPersistenceException.php
- typo3/sysext/form/Resources/Private/Backend/Templates/FormManager/Index.html 12 additions, 3 deletions...esources/Private/Backend/Templates/FormManager/Index.html
- typo3/sysext/form/Resources/Private/Language/Database.xlf 3 additions, 0 deletionstypo3/sysext/form/Resources/Private/Language/Database.xlf
- typo3/sysext/form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php 2 additions, 0 deletions...form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php
- typo3/sysext/form/Tests/Unit/Mvc/Persistence/Fixtures/BlankForm.form.yaml 0 additions, 0 deletions...m/Tests/Unit/Mvc/Persistence/Fixtures/BlankForm.form.yaml
- typo3/sysext/form/Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php 11 additions, 11 deletions...Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php
- typo3/sysext/form/ext_localconf.php 56 additions, 0 deletionstypo3/sysext/form/ext_localconf.php
- typo3/sysext/impexp/Classes/Import.php 6 additions, 0 deletionstypo3/sysext/impexp/Classes/Import.php