Skip to content
This repository was archived by the owner on Nov 15, 2024. It is now read-only.

Commit 698b9a0

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 apache#21464 from srowen/XSS2.
1 parent 90ae98d commit 698b9a0

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
@@ -206,7 +206,9 @@ private[ui] class AllJobsPage(parent: JobsTab, store: AppStatusStore) extends We
206206
jobs: Seq[v1.JobData],
207207
killEnabled: Boolean): Seq[Node] = {
208208
// stripXSS is called to remove suspicious characters used in XSS attacks
209-
val allParameters = request.getParameterMap.asScala.toMap.mapValues(_.map(UIUtils.stripXSS))
209+
val allParameters = request.getParameterMap.asScala.toMap.map { case (k, v) =>
210+
UIUtils.stripXSS(k) -> v.map(UIUtils.stripXSS).toSeq
211+
}
210212
val parameterOtherTable = allParameters.filterNot(_._1.startsWith(jobTag))
211213
.map(para => para._1 + "=" + para._2(0))
212214

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)