[SECURITY] XSS in beuser VH 18/26218/2
authorAnja Leichsenring <aleichsenring@ab-softlab.de>
Tue, 10 Dec 2013 09:54:34 +0000 (10:54 +0100)
committerOliver Hader <oliver.hader@typo3.org>
Tue, 10 Dec 2013 09:54:38 +0000 (10:54 +0100)
The tree Display/* ViewHelpers introduce a XSS vulnerability by
using unescaped parameters in HTML.

Change-Id: I0dadb03105d3eaa520f10f0375a46c83fa56c269
Fixes: #47086
Releases: 6.2, 6.1, 6.0
Security-Commit: 1e0f51f204efd9efacec8aef8ea08e2a8122177b
Security-Bulletin: TYPO3-CORE-SA-2013-004
Reviewed-on: https://review.typo3.org/26218
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
typo3/sysext/beuser/Classes/ViewHelpers/Display/PagesViewHelper.php
typo3/sysext/beuser/Classes/ViewHelpers/Display/SysFileMountsViewHelper.php
typo3/sysext/beuser/Classes/ViewHelpers/Display/SysLanguageViewHelper.php

index 6e3bbeb..0f6e3f2 100755 (executable)
@@ -52,7 +52,7 @@ class PagesViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelpe
                        'uid ASC'
                );
                while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                       $content .= '<li>' . $row['title'] . ' [' . $row['uid'] . ']</li>';
+                       $content .= '<li>' . htmlspecialchars($row['title']) . ' [' . htmlspecialchars($row['uid']) . ']</li>';
                }
                $GLOBALS['TYPO3_DB']->sql_free_result($res);
                return '<ul>' . $content . '</ul>';
index 0e2cf4c..29e19e0 100755 (executable)
@@ -52,7 +52,7 @@ class SysFileMountsViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractV
                        'title ASC'
                );
                while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                       $content .= '<li>' . $row['title'] . ' [' . $row['uid'] . ']</li>';
+                       $content .= '<li>' . htmlspecialchars($row['title']) . ' [' . htmlspecialchars($row['uid']) . ']</li>';
                }
                $GLOBALS['TYPO3_DB']->sql_free_result($res);
                return '<ul>' . $content . '</ul>';
index ec5c2e3..2d8b94c 100755 (executable)
@@ -51,7 +51,7 @@ class SysLanguageViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractVie
                        'title ASC'
                );
                while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                       $content .= '<li>' . $row['title'] . ' [' . $row['uid'] . ']</li>';
+                       $content .= '<li>' . htmlspecialchars($row['title']) . ' [' . htmlspecialchars($row['uid']) . ']</li>';
                }
                $GLOBALS['TYPO3_DB']->sql_free_result($res);
                return '<ul>' . $content . '</ul>';