CVE-2024-28253

SpEL Injection in `PUT /api/v1/policies` in OpenMetadata

Published Mar 15, 2024 CVSS 3.1 · 9.4 Critical EPSS 12.5% KEV · Not listed
Description
OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata repository, in-depth lineage, and seamless team collaboration. `CompiledRule::validateExpression` is also called from `PolicyRepository.prepare`. `prepare()` is called from `EntityRepository.prepareInternal()` which, in turn, gets called from `EntityResource.createOrUpdate()`. Note that even though there is an authorization check (`authorizer.authorize()`), it gets called after `prepareInternal()` gets called and therefore after the SpEL expression has been evaluated. In order to reach this method, an attacker can send a PUT request to `/api/v1/policies` which gets handled by `PolicyResource.createOrUpdate()`. This vulnerability was discovered with the help of CodeQL's Expression language injection (Spring) query and is also tracked as `GHSL-2023-252`. This issue may lead to Remote Code Execution and has been addressed in version 1.3.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-7vf4-x5m2-r6gr OpenMetadata vulnerable to SpEL Injection in `PUT /api/v1/policies` (`GHSL-2023-252`)
History
Type Values Removed Values Added
CPEs cpe:2.3:a:open-metadata:openmetadata:*:*:*:*:*:*:*:*
Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 28, 2024, 4:21 PM
Reserved
Mar 7, 2024, 2:33 PM
Status
Analyzed
Published
Mar 15, 2024, 8:15 PM
Modified
Jun 17, 2026, 7:21 AM