Miggo Logo

CVE-2018-1000425: Jenkins SonarQube Scanner Plugin stored server authentication token in plain text

7.8

CVSS Score
3.0

Basic Information

EPSS Score
0.14067%
Published
5/13/2022
Updated
1/30/2024
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
org.jenkins-ci.plugins:sonarmaven<= 2.82.8.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper credential storage in SonarInstallation class. The advisory explicitly identifies SonarInstallation.java as the vulnerable component. In Jenkins plugin architecture:

  1. getServerAuthenticationToken() would be the direct accessor for the credential field
  2. configure() handles loading configuration state
  3. XStream serialization would persist these values to disk

While the exact patch code isn't shown, the credential storage pattern in Jenkins plugins typically involves:

  • Plaintext fields in Domain Objects (SonarInstallation)
  • getters exposing sensitive data
  • configure() methods rebuilding state from config

These functions would appear in stack traces during:

  • Configuration saves (persisting plaintext)
  • Build steps accessing SonarQube credentials
  • Configuration UIs displaying credential values

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*n insu**i*i*ntly prot**t** *r***nti*ls vuln*r**ility *xists in J*nkins Son*rQu** S**nn*r Plu*in *.* *n* **rli*r in Son*rInst*ll*tion.j*v* t**t *llows *tt**k*rs wit* lo**l *il* syst*m ****ss to o*t*in t** *r***nti*ls us** to *onn**t to Son*rQu**.

Reasoning

T** vuln*r**ility st*ms *rom improp*r *r***nti*l stor*** in Son*rInst*ll*tion *l*ss. T** **visory *xpli*itly i**nti*i*s Son*rInst*ll*tion.j*v* *s t** vuln*r**l* *ompon*nt. In J*nkins plu*in *r**it**tur*: *. **tS*rv*r*ut**nti**tionTok*n() woul* ** t**