Skip to content

Commit d405e66

Browse files
srowenMarcelo Vanzin
authored and
Marcelo Vanzin
committed
[WEBUI] Avoid possibility of script in query param keys
As discussed separately, this avoids the possibility of XSS on certain request param keys. CC vanzin Author: Sean Owen <srowen@gmail.com> Closes #21464 from srowen/XSS2. (cherry picked from commit 698b9a0) Signed-off-by: Marcelo Vanzin <vanzin@cloudera.com>
1 parent fa8ef46 commit d405e66

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,9 @@ private[ui] class AllJobsPage(parent: JobsTab) extends WebUIPage("") {
221221
jobs: Seq[JobUIData],
222222
killEnabled: Boolean): Seq[Node] = {
223223
// stripXSS is called to remove suspicious characters used in XSS attacks
224-
val allParameters = request.getParameterMap.asScala.toMap.mapValues(_.map(UIUtils.stripXSS))
224+
val allParameters = request.getParameterMap.asScala.toMap.map { case (k, v) =>
225+
UIUtils.stripXSS(k) -> v.map(UIUtils.stripXSS).toSeq
226+
}
225227
val parameterOtherTable = allParameters.filterNot(_._1.startsWith(jobTag))
226228
.map(para => para._1 + "=" + para._2(0))
227229

core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ private[ui] class StageTableBase(
4343
killEnabled: Boolean,
4444
isFailedStage: Boolean) {
4545
// stripXSS is called to remove suspicious characters used in XSS attacks
46-
val allParameters = request.getParameterMap.asScala.toMap.mapValues(_.map(UIUtils.stripXSS))
46+
val allParameters = request.getParameterMap.asScala.toMap.map { case (k, v) =>
47+
UIUtils.stripXSS(k) -> v.map(UIUtils.stripXSS).toSeq
48+
}
4749
val parameterOtherTable = allParameters.filterNot(_._1.startsWith(stageTag))
4850
.map(para => para._1 + "=" + para._2(0))
4951

0 commit comments

Comments
 (0)