Bug #22348
openEpic #90674: Backend UI not reflecting permissions
Security problem with flexforms, especially extbase and overriding not allowed values
0%
Description
Description:
-----------------
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.
Problem:
----------------
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.
Possible Solution:
----------------
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)