[SECURITY] XSS in search results 72/45272/2
authorWouter Wolters <typo3@wouterwolters.nl>
Tue, 15 Dec 2015 10:35:34 +0000 (11:35 +0100)
committerOliver Hader <oliver.hader@typo3.org>
Tue, 15 Dec 2015 10:35:40 +0000 (11:35 +0100)
Page titles are not escaped in getPathFromPageId

Resolves: #23155
Releases: 6.2
Security-Commit: 9f2f01429e4cfd9f705b345a8b3c53dfd0bac63d
Security-Bulletins: TYPO3-CORE-SA-2015-010, 011, 012, 013, 014, 015
Change-Id: I65f106e1b504bf9ac45f869ae97582f0cb24f52a
Reviewed-on: https://review.typo3.org/45272
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
typo3/sysext/indexed_search/Classes/Controller/SearchFormController.php

index f75e091..225fd13 100644 (file)
@@ -691,7 +691,7 @@ class SearchFormController extends \TYPO3\CMS\Frontend\Plugin\AbstractPlugin {
                        $content .= '<p' . $this->pi_classParam('noresults') . '>' . $this->pi_getLL('noResults', '', TRUE) . '</p>';
                }
                // Print a message telling which words we searched for, and in which sections etc.
-               $what = $this->tellUsWhatIsSeachedFor($sWArr) . (substr($this->piVars['sections'], 0, 2) == 'rl' ? ' ' . $this->pi_getLL('inSection', '', TRUE) . ' "' . substr($this->getPathFromPageId(substr($this->piVars['sections'], 4)), 1) . '"' : '');
+               $what = $this->tellUsWhatIsSeachedFor($sWArr) . (substr($this->piVars['sections'], 0, 2) == 'rl' ? ' ' . $this->pi_getLL('inSection', '', TRUE) . ' "' . substr(htmlspecialchars($this->getPathFromPageId(substr($this->piVars['sections'], 4))), 1) . '"' : '');
                $what = '<div' . $this->pi_classParam('whatis') . '>' . $this->cObj->stdWrap($what, $this->conf['whatis_stdWrap.']) . '</div>';
                $content = $what . $content;
                // Return content: