From 5e2a9d4ea2b128dcaec9866b47203dbc10e7648c Mon Sep 17 00:00:00 2001 From: Benjamin Franzke <ben@bnf.dev> Date: Thu, 14 Dec 2023 12:20:48 +0100 Subject: [PATCH] [TASK] Sanitize embedded HTML in Installation-Wide Configuration GUI Input data is statically provided by EXT:core only, so there is no security issue known right now. This change is a preparation to avoid possible future security issues. Resolves: #102676 Releases: main, 12.4, 11.5 Change-Id: I49a7fdd250e8ce74fdde07ad305cbae7e4af8ec3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82234 Tested-by: Oliver Bartsch <bo@cedev.de> Tested-by: core-ci <typo3@b13.com> Reviewed-by: Oliver Bartsch <bo@cedev.de> --- .../Settings/LocalConfiguration/SubSection.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/typo3/sysext/install/Resources/Private/Partials/Settings/LocalConfiguration/SubSection.html b/typo3/sysext/install/Resources/Private/Partials/Settings/LocalConfiguration/SubSection.html index c20d52693640..0128fba88c06 100644 --- a/typo3/sysext/install/Resources/Private/Partials/Settings/LocalConfiguration/SubSection.html +++ b/typo3/sysext/install/Resources/Private/Partials/Settings/LocalConfiguration/SubSection.html @@ -43,7 +43,7 @@ <f:if condition="{f:count(subject: item.allowedValues)} || {item.dataType} == 'dropdown'"> <f:then> <div class="form-group"> - <div class="form-description">{item.description -> f:format.raw()}</div> + <div class="form-description">{item.description -> f:sanitize.html()}</div> <select data-path="{sectionName}/{item.key}" class="t3-install-form-input-text form-select t3js-localConfiguration-pathValue" {f:if(condition: '!{isWritable}', then: 'disabled')}> <f:for each="{item.allowedValues}" key="optionKey" as="optionLabel"> <option value="{optionKey}" {f:if(condition: '{item.value} == {optionKey}', then: 'selected="selected"')}>{optionLabel} ({optionKey})</option> @@ -65,7 +65,7 @@ {f:if(condition: '!{isWritable}', then: 'disabled')} /> <label class="form-check-label" for="{sectionName}_{item.key}"> - {item.description -> f:format.raw()} + {item.description -> f:sanitize.html()} </label> </div> </f:if> @@ -73,7 +73,7 @@ <f:if condition="{item.type} == 'input'"> <div class="form-group"> <f:if condition="{item.description}"> - <div class="form-description">{item.description -> f:format.raw()}</div> + <div class="form-description">{item.description -> f:sanitize.html()}</div> </f:if> <input type="text" @@ -89,7 +89,7 @@ <f:if condition="{item.type} == 'password'"> <div class="form-group"> <f:if condition="{item.description}"> - <div class="form-description">{item.description -> f:format.raw()}</div> + <div class="form-description">{item.description -> f:sanitize.html()}</div> </f:if> <input type="password" @@ -105,7 +105,7 @@ <f:if condition="{item.type} == 'number'"> <div class="form-group"> <f:if condition="{item.description}"> - <div class="form-description">{item.description -> f:format.raw()}</div> + <div class="form-description">{item.description -> f:sanitize.html()}</div> </f:if> <input type="number" @@ -122,7 +122,7 @@ <f:if condition="{item.type} == 'textarea'"> <div class="form-group"> <f:if condition="{item.description}"> - <div class="form-description">{item.description -> f:format.raw()}</div> + <div class="form-description">{item.description -> f:sanitize.html()}</div> </f:if> <textarea rows="5" -- GitLab