Epic #90674: Backend UI not reflecting permissions
Security problem with flexforms, especially extbase and overriding not allowed values
A user can save anything in the flexform field by using e.g. firebug and
modifiying the name-attribute of the fields. Extbase is configured to
merge flexform and typoscript settings automatically and further more it
uses specific keywords to set e.g. the used templates.
For example: Any textarea / input field can be changed to save data into
the field "view.templateRootPath" which is then used as template path.
If a user has the rights to create html files or maybe the right to
upload files to a specific folder in fileadmin/, he can change the
template of any extbase extension he has access to.
Problem with pibase:
As there is no speficic keyword for the pibase extension it is not that
easy there. Of course if an extension merges every flexform setting with
the TS settings itself, the same problem occurs.
I don't know if the proposed solution is the correct one but IMO before
the record is saved/updated, it needs to be checked if every flexform
field is existing in the flexform file.
IMO there is at least one problem: If the flexform file is extended by
the extension author, old and unsed sections remain in the database
because everything is merged there.
(issue imported from #M13955)
#1 Updated by Helmut Hummel almost 7 years ago
- Project changed from Core Security to TYPO3 Core
This might theoretically be security relevant, but there is currently no (not that we know) exploit possibility, so there is no benefit in keeping this fact secret.
In contrast we should educate developers about the potential impact of making critical configuration available in settings.