Miggo Logo

CVE-2020-2265: Stored XSS vulnerability in Coverage/Complexity Scatter Plot Plugin

8

CVSS Score
3.1

Basic Information

EPSS Score
0.46137%
Published
5/24/2022
Updated
1/28/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jenkins-ci.plugins:covcomplplotmaven<= 1.1.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unescaped method information in tooltips. Jenkins plugins typically use Jelly templates for UI rendering and Java classes for data processing. The combination of:

  1. A Java method (ScatterPlotAction.generateTooltip) processing raw method data from reports without sanitization
  2. A Jelly template (index.jelly) directly rendering this unsanitized data into HTML tooltip attributes via ${...} expressions creates the XSS vector. The pattern matches Jenkins' common XSS vulnerability patterns where user-controlled data flows into UI elements without escaping.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

J*nkins *ov*r***/*ompl*xity S**tt*r Plot Plu*in *.*.* *n* **rli*r *o*s not *s**p* t** m*t*o* in*orm*tion in tooltips, r*sultin* in * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xploit**l* *y *tt**k*rs **l* to provi** r*port *il*s to t** plu*in's

Reasoning

T** vuln*r**ility st*ms *rom un*s**p** m*t*o* in*orm*tion in tooltips. J*nkins plu*ins typi**lly us* J*lly t*mpl*t*s *or UI r*n**rin* *n* J*v* *l*ss*s *or **t* pro**ssin*. T** *om*in*tion o*: *. * J*v* m*t*o* (S**tt*rPlot**tion.**n*r*t*Tooltip) pro**