Miggo Logo

CVE-2022-30954:
Missing permission check in Jenkins Blue Ocean Plugin

4.3

CVSS Score

Basic Information

EPSS Score
-
Published
5/18/2022
Updated
12/6/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
io.jenkins.blueocean:blueocean-parentmaven< 1.25.41.25.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from HTTP endpoints handling SCM operations without: 1) POST method enforcement (allowing CSRF), and 2) Job/Create permission checks. The commit diff shows critical additions of checkPermission() calls and HTTP method validation in multiple SCM implementations. Functions like getState() and getOrganizations() in Bitbucket/GitHub SCM classes were modified to add these security checks, indicating they were previously vulnerable. The Scm.validateAndCreate endpoint's method change from PUT to POST in the annotation further confirms this pattern. Test cases added in *SecurityTest.java files validate that these endpoints now require proper permissions and POST requests.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins *lu* O***n Plu*in *.**.* *n* **rli*r *o*s not p*r*orm * p*rmission ****k in s*v*r*l *TTP *n*points, *llowin* *tt**k*rs wit* Ov*r*ll/R*** p*rmission to *onn**t to *n *tt**k*r-sp**i*i** *TTP s*rv*r. *lu* O***n Plu*in *.**.* r*quir*s POST r*qu*s

Reasoning

T** vuln*r**ility st*mm** *rom *TTP *n*points **n*lin* S*M op*r*tions wit*out: *) POST m*t*o* *n*or**m*nt (*llowin* *SR*), *n* *) Jo*/*r**t* p*rmission ****ks. T** *ommit *i** s*ows *riti**l ***itions o* ****kP*rmission() **lls *n* *TTP m*t*o* v*li**