CVE-2020-2305:
XXE vulnerability in Jenkins Mercurial Plugin
6.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.66869%
CWE
Published
5/24/2022
Updated
12/14/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.plugins:mercurial | maven | = 2.11 | 2.12 |
org.jenkins-ci.plugins:mercurial | maven | = 2.10 | 2.10.1 |
org.jenkins-ci.plugins:mercurial | maven | = 2.9 | 2.9.1 |
org.jenkins-ci.plugins:mercurial | maven | < 2.8.1 | 2.8.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from insecure XML parsing in the MercurialChangeLogParser class. The pre-patch implementation used Digester2 (from Apache Commons Digester) to parse XML changelogs without disabling external entity resolution. The commit diff shows a replacement of Digester with secure XMLUtils.parse() which explicitly disables XXE. The parse method was the entry point for XML processing and lacked security configurations like setFeature(XMLConstants.FEATURE_SECURE_PROCESSING) or setExpandEntityReferences(false), making it vulnerable to XXE injection.