Miggo Logo

CVE-2023-32986:
Jenkins File Parameter Plugin arbitrary file write vulnerability

8.8

CVSS Score
3.1

Basic Information

EPSS Score
0.89448%
Published
5/16/2023
Updated
1/4/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
io.jenkins.plugins:file-parametersmaven< 285.287.v4b285.287.v4b

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unvalidated filename handling in Stashed File Parameters. The commit diff shows critical changes where filename assignment was moved to a setFilename() method that performs Jenkins.checkGoodName() validation. The vulnerable versions directly used FileItem.getName() without validation in StashedFileParameterValue constructor and Base64FileParameterValue.setFile. The AbstractFileParameterDefinition.createValue method was vulnerable as it propagated these unvalidated filenames into the build environment. The high confidence comes from explicit path traversal prevention being added in the patch through filename validation.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins *il* P*r*m*t*r Plu*in ***.v******_***_*** *n* **rli*r *o*s not r*stri*t t** n*m* (*n* r*sultin* uplo**** *il* n*m*) o* St*s*** *il* P*r*m*t*rs. T*is *llows *tt**k*rs wit* It*m/*on*i*ur* p*rmission to *r**t* or r*pl*** *r*itr*ry *il*s on t**

Reasoning

T** vuln*r**ility st*ms *rom unv*li**t** `*il*n*m*` **n*lin* in St*s*** *il* P*r*m*t*rs. T** *ommit *i** s*ows *riti**l ***n**s w**r* `*il*n*m*` *ssi*nm*nt w*s mov** to * `s*t*il*n*m*()` m*t*o* t**t p*r*orms `J*nkins.****k*oo*N*m*()` v*li**tion. T**