[BUGFIX] Escape title, extension, description of scheduler tasks 31/25231/2
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Sat, 9 Nov 2013 15:41:41 +0000 (16:41 +0100)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Sat, 9 Nov 2013 15:43:47 +0000 (16:43 +0100)
Properly escapes the title, description and extension of
displayed scheduler tasks

Resolves: #29179
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: Ie03383f694863e435bfb96341226f8c78be426e5
Reviewed-on: https://review.typo3.org/25231
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
typo3/sysext/scheduler/mod1/index.php [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 726c5f5..64123ec
@@ -497,9 +497,9 @@ class tx_scheduler_Module extends t3lib_SCbase {
 
                                // Display information about each service
                        foreach ($registeredClasses as $class => $classInfo) {
-                               $table[$tr][] = $classInfo['title'];
-                               $table[$tr][] = $classInfo['extension'];
-                               $table[$tr][] = $classInfo['description'];
+                               $table[$tr][] = htmlspecialchars($classInfo['title']);
+                               $table[$tr][] = htmlspecialchars($classInfo['extension']);
+                               $table[$tr][] = htmlspecialchars($classInfo['description']);
                                $link = $GLOBALS['MCONF']['_'] . '&SET[function]=list&CMD=add&tx_scheduler[class]=' . $class;
                                $table[$tr][] = '<a href="' . htmlspecialchars($link) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xml:new', TRUE) . '" class="icon">' . t3lib_iconWorks::getSpriteIcon('actions-document-new') . '</a>';
                                $tr++;
@@ -776,7 +776,7 @@ class tx_scheduler_Module extends t3lib_SCbase {
                                // Loop on all registered classes to display a selector
                        foreach ($registeredClasses as $class => $classInfo) {
                                $selected = ($class == $taskInfo['class']) ? ' selected="selected"' : '';
-                               $cell .= '<option value="' . $class . '"' . $selected . '>' . $classInfo['title'] . ' (' . $classInfo['extension'] . ')' . '</option>';
+                               $cell .= '<option value="' . $class . '"' . $selected . '>' . htmlspecialchars($classInfo['title']) . ' (' . htmlspecialchars($classInfo['extension']) . ')' . '</option>';
                        }
                        $cell .= '</select>';
                }