Miggo Logo

CVE-2024-28848:
OpenMetadata vulnerable to a SpEL Injection in `GET /api/v1/policies/validation/condition/<expr>` (`GHSL-2023-236`)

8.8

CVSS Score
3.1

Basic Information

EPSS Score
0.98717%
Published
4/24/2024
Updated
4/24/2024
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.open-metadata:openmetadata-servicemaven< 1.2.41.2.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from CompiledRule.validateExpression using StandardEvaluationContext which provides full SpEL evaluation capabilities. When combined with user-controlled input from the /api/v1/policies/validation/condition endpoint, this allows attackers to execute arbitrary Java code via crafted SpEL expressions. The PoC demonstrates RCE through Runtime.getRuntime().exec(), confirming the exploitability. The function's direct handling of unsanitized input with a powerful evaluation context makes it the clear vulnerability source.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Sp*L Inj**tion in `**T /*pi/v*/poli*i*s/v*li**tion/*on*ition/<*xpr>` (`**SL-****-***`) ***Pl**s* not*, only *ut**nti**t** us*rs **v* ****ss to PUT / POST *PIS *or /*pi/v*/poli*i*s. Non *ut**nti**t** us*rs will not ** **l* to ****ss t**s* *PIs to

Reasoning

T** vuln*r**ility st*ms *rom `*ompil**Rul*.v*li**t**xpr*ssion` usin* `St*n**r**v*lu*tion*ont*xt` w*i** provi**s *ull Sp*L *v*lu*tion **p**iliti*s. W**n *om*in** wit* us*r-*ontroll** input *rom t** `/*pi/v*/poli*i*s/v*li**tion/*on*ition` *n*point, t*i