Miggo Logo

CVE-2018-1000401: Jenkins AWS CodePipeline Plugin has Insufficiently Protected Credentials

7.8

CVSS Score
3.0

Basic Information

EPSS Score
0.01084%
Published
5/13/2022
Updated
1/29/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
com.amazonaws:aws-codepipelinemaven< 0.370.37

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from plaintext storage of AWS secrets in job configurations. The commit diff shows:

  1. The 'awsSecretKey' field type changed from String to Secret (Jenkins' encrypted credential type)
  2. getAwsSecretKey() return type changed from String to Secret
  3. All usages were updated to use Secret.toString() for safe handling These changes indicate the constructor and getter were directly responsible for insecure credential storage in vulnerable versions. The functions would serialize secrets to config.xml without encryption, accessible via file system or Jenkins UI.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins proj**t J*nkins *WS *o**Pip*lin* Plu*in v*rsion *.** *n* **rli*r *ont*ins * Insu**i*i*ntly Prot**t** *r***nti*ls vuln*r**ility in *WS*o**Pip*lin*S*M.j*v* t**t **n r*sult in *r***nti*ls *is*losur*. T*is *tt**k *pp**r to ** *xploit**l* vi* lo**

Reasoning

T** vuln*r**ility st*mm** *rom pl*int*xt stor*** o* *WS s**r*ts in jo* *on*i*ur*tions. T** *ommit *i** s*ows: *. T** '*wsS**r*tK*y' *i*l* typ* ***n*** *rom Strin* to S**r*t (J*nkins' *n*rypt** *r***nti*l typ*) *. **t*wsS**r*tK*y() r*turn typ* ***n***