[SECURITY] Prevent XSS in scheduler form 55/29155/2
authorNicole Cordes <typo3@cordes.co>
Fri, 4 Apr 2014 11:12:25 +0000 (13:12 +0200)
committerNicole Cordes <typo3@cordes.co>
Fri, 4 Apr 2014 11:19:42 +0000 (13:19 +0200)
The class name is submitted in a hidden form and is susceptible to XSS.
The patch introduced htmlspecialchars to prevent XSS possibility.

Resolves: #57603
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I4979e66f28a581e168c56d91327a1bbe2672448d
Reviewed-on: https://review.typo3.org/29155
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
typo3/sysext/scheduler/mod1/index.php

index 64123ec..c57ceff 100644 (file)
@@ -743,8 +743,8 @@ class tx_scheduler_Module extends t3lib_SCbase {
                }
 
                        // Start rendering the add/edit form
-               $content .= '<input type="hidden" name="tx_scheduler[uid]" value="' . $this->submittedData['uid'] . '" />';
-               $content .= '<input type="hidden" name="previousCMD" value="' . $this->CMD . '" />';
+               $content .= '<input type="hidden" name="tx_scheduler[uid]" value="' . htmlspecialchars($this->submittedData['uid']) . '" />';
+               $content .= '<input type="hidden" name="previousCMD" value="' . htmlspecialchars($this->CMD) . '" />';
                $content .= '<input type="hidden" name="CMD" value="save" />';
 
                $table = array();
@@ -770,7 +770,7 @@ class tx_scheduler_Module extends t3lib_SCbase {
                        // On editing, don't allow changing of the task class, unless it was not valid
                if ($this->submittedData['uid'] > 0 && !empty($taskInfo['class'])) {
                        $cell = $registeredClasses[$taskInfo['class']]['title'] . ' (' . $registeredClasses[$taskInfo['class']]['extension'] . ')';
-                       $cell .= '<input type="hidden" name="tx_scheduler[class]" id="task_class" value="' . $taskInfo['class'] . '" />';
+                       $cell .= '<input type="hidden" name="tx_scheduler[class]" id="task_class" value="' . htmlspecialchars($taskInfo['class']) . '" />';
                } else {
                        $cell = '<select name="tx_scheduler[class]" id="task_class" class="wide" onchange="actOnChangedTaskClass(this)">';
                                // Loop on all registered classes to display a selector