CVE-2012-4440: Jenkins Violation Plugin allows Cross-Site Scripting (XSS)
6.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.8025%
CWE
Published
4/23/2022
Updated
3/12/2025
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.plugins:violations | maven | < 0.7.11 | 0.7.11 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from two key patterns:
- In FileModelProxy.java, the severityColumn method directly appended user-controlled values (violation.getSource() and getSourceDetail()) to HTML output without escaping, as shown in the pre-patch code. The fix added Functions.escape() wrappers.
- Multiple Jelly templates lacked the <?jelly escape-by-default='true'?> directive and used unsafe ${} expressions. The patch added escaping directives and replaced some ${} with <j:out> tags with implicit escaping. Both patterns allowed injection of raw HTML/scripts through violation data that wasn't properly sanitized before rendering.