Miggo Logo

CVE-2020-2299:
Improper Authentication in Jenkins Active Directory Plugin

9.8

CVSS Score
3.1

Basic Information

EPSS Score
0.41538%
Published
5/24/2022
Updated
12/14/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jenkins-ci.plugins:active-directorymaven>= 2.17, < 2.202.20
org.jenkins-ci.plugins:active-directorymaven>= 1.44, < 2.16.12.16.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from using a magic password constant (hex nulls) to differentiate between user lookup (no auth) and authentication. The commit shows:

  1. Removal of NO_AUTHENTICATION magic string from ActiveDirectoryUnixAuthenticationProvider
  2. Introduction of Password interface with proper authentication state handling
  3. Modified cache key generation to include password hashes instead of raw passwords
  4. Added explicit empty password checks These changes indicate the original retrieveUser functions in both authentication providers improperly handled the authentication flow when the magic constant was present in the password field, allowing attackers to authenticate as any user by supplying this special value.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins **tiv* *ir**tory Plu*in impl*m*nts two s*p*r*t* mo**s: Int**r*tion wit* **SI on Win*ows, *n* *n OS **nosti* L**P-**s** mo**. T** L**P-**s** mo** in **tiv* *ir**tory Plu*in st*rtin* in v*rsion *.** *n* prior to v*rsions *.**.* *n* *.** s**r*s

Reasoning

T** vuln*r**ility st*mm** *rom usin* * m**i* p*sswor* *onst*nt (**x nulls) to *i***r*nti*t* **tw**n us*r lookup (no *ut*) *n* *ut**nti**tion. T** *ommit s*ows: *. R*mov*l o* NO_*UT**NTI**TION m**i* strin* *rom **tiv**ir**toryUnix*ut**nti**tionProvi**