CVE-2019-1003011: Jenkins Token Macro Plugin's recursive token expansion results in information disclosure and DoS
6.5
CVSS Score
3.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.68195%
CWE
Published
5/13/2022
Updated
12/15/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.plugins:token-macro | maven | <= 2.5 | 2.6 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from recursive token expansion without depth control. The Parser.processToken() method handled token replacement recursively but lacked a recursion limit prior to the patch, enabling infinite recursion. Additionally, AbstractChangesSinceMacro and ChangesSinceLastBuildMacro's evaluate() methods processed user-controllable format/path parameters through TokenMacro.expandAll() without limiting recursion depth, creating secondary expansion vectors. The commit introduced a MAX_RECURSION_LEVEL check in Parser and removed nested expansion capabilities from these macros, confirming their role in the vulnerability.