Miggo Logo

CVE-2020-2134: Sandbox bypass vulnerability in Script Security Plugin

8.8

CVSS Score
3.1

Basic Information

EPSS Score
0.40535%
Published
5/24/2022
Updated
12/22/2023
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
org.jenkins-ci.plugins:script-securitymaven< 1.7.11.7.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from two key flaws: 1) GroovyInterceptable method calls were not forced through the invokeMethod() gateway, allowing arbitrary method execution, and 2) synthetic constructor wrappers for super/this calls were not blacklisted, enabling direct unsafe constructor invocation. The commit addresses these by adding GroovyInterceptable handling in method dispatch and blacklisting the dangerous constructors. The test cases confirm these vectors were exploitable in vulnerable versions.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

S*n**ox prot**tion in S*ript S**urity Plu*in *.** *n* **rli*r **n ** *ir*umv*nt** t*rou**: - *r**t** *onstru*tor **lls *n* *o*i*s (*u* to *n in*ompl*t* *ix o* [S**URITY-***](*ttps://www.j*nkins.io/s**urity/**visory/****-**-**/#sup*r-*onstru*tor-**lls

Reasoning

T** vuln*r**ility st*mm** *rom two k*y *l*ws: *) `*roovyInt*r**pt**l*` m*t*o* **lls w*r* not *or*** t*rou** t** `invok*M*t*o*()` **t*w*y, *llowin* *r*itr*ry m*t*o* *x**ution, *n* *) synt**ti* *onstru*tor wr*pp*rs *or sup*r/t*is **lls w*r* not *l**kli