Miggo Logo

CVE-2019-10449:
Jenkins Fortify on Demand Plugin stores credentials in plain text

4.3

CVSS Score

Basic Information

EPSS Score
-
Published
5/24/2022
Updated
12/22/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jenkins-ci.plugins:fortify-on-demand-uploadermaven<= 4.0.15.0.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from handling credentials as Strings instead of Jenkins' Secret type. The diff shows:

  1. Constructors previously accepted String-type credentials and passed them to shared components
  2. Getters returned plain Strings instead of Secrets
  3. The patch replaces String with Secret type and uses getEncryptedValue() These functions directly handled credential storage without encryption, matching the CWE-312 description of cleartext storage in config.xml files.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins *orti*y on **m*n* Plu*in stor*s *r***nti*ls un*n*rypt** in jo* `*on*i*.xml` *il*s on t** J*nkins *ontroll*r. T**s* *r***nti*ls **n ** vi*w** *y us*rs wit* *xt*n*** R*** p*rmission or ****ss to t** J*nkins *ontroll*r *il* syst*m.

Reasoning

T** vuln*r**ility st*ms *rom **n*lin* *r***nti*ls *s Strin*s inst*** o* J*nkins' S**r*t typ*. T** *i** s*ows: *. *onstru*tors pr*viously ****pt** Strin*-typ* *r***nti*ls *n* p*ss** t**m to s**r** *ompon*nts *. **tt*rs r*turn** pl*in Strin*s inst*** o