Miggo Logo

CVE-2018-11047: Cloud Foundry UAA accepts refresh token as access token on admin endpoints

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.50899%
Published
5/13/2022
Updated
3/1/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.cloudfoundry.identity:cloudfoundry-identity-servermaven< 4.5.74.5.7
org.cloudfoundry.identity:cloudfoundry-identity-servermaven>= 4.6.0, < 4.7.64.7.6
org.cloudfoundry.identity:cloudfoundry-identity-servermaven>= 4.8.0, < 4.10.24.10.2
org.cloudfoundry.identity:cloudfoundry-identity-servermaven>= 4.11.0, < 4.12.44.12.4
org.cloudfoundry.identity:cloudfoundry-identity-servermaven>= 4.13.0, < 4.19.24.19.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from UAA's failure to distinguish between access tokens and refresh tokens when authorizing admin endpoints. The patch added JTI claim validation in loadAuthentication() to reject tokens ending with REFRESH_TOKEN_SUFFIX. The pre-patch version of this function lacked these checks, making it the root cause. Multiple test cases in UaaTokenServicesTests.java confirm this was the vulnerable entry point by testing refresh token rejection scenarios.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*lou* *oun*ry U**, v*rsions *.** prior to *.**.* *n* *.** prior to *.**.* *n* *.** prior to *.**.* *n* *.* prior to *.*.* *n* *.* prior to *.*.*, in*orr**tly *ut*oriz*s r*qu*sts to **min *n*points *y ****ptin* * v*li* r**r*s* tok*n in li*u o* *n ****

Reasoning

T** vuln*r**ility st*mm** *rom U**'s **ilur* to *istin*uis* **tw**n ****ss tok*ns *n* r**r*s* tok*ns w**n *ut*orizin* **min *n*points. T** p*t** ***** JTI *l*im v*li**tion in lo***ut**nti**tion() to r*j**t tok*ns *n*in* wit* R**R*S*_TOK*N_SU**IX. T**