CVE-2024-28254
CVE-2024-28254 is a high-severity vulnerability in Open-metadata Openmetadata with a CVSS 3.x base score of 8.8. Its EPSS exploit-prediction score of 46% places it in the 99th percentile, indicating an elevated likelihood of exploitation. The underlying weakness is classified as CWE-78.
Key facts
- Severity: High (CVSS 3.x base score 8.8)
- EPSS exploit prediction: 46% (99th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-25353
- Weakness: CWE-78
- Affected product: Open-metadata Openmetadata
- Published:
- Last modified:
Description
OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata repository, in-depth lineage, and seamless team collaboration. The `AlertUtil::validateExpression` method evaluates an SpEL expression using `getValue` which by default uses the `StandardEvaluationContext`, allowing the expression to reach and interact with Java classes such as `java.lang.Runtime`, leading to Remote Code Execution. The `/api/v1/events/subscriptions/validation/condition/<expression>` endpoint passes user-controlled data `AlertUtil::validateExpession` allowing authenticated (non-admin) users to execute arbitrary system commands on the underlaying operating system. In addition, there is a missing authorization check since `Authorizer.authorize()` is never called in the affected path and, therefore, any authenticated non-admin user is able to trigger this endpoint and evaluate arbitrary SpEL expressions leading to arbitrary command execution. This vulnerability was discovered with the help of CodeQL's Expression language injection (Spring) query and is also tracked as `GHSL-2023-235`. This issue may lead to Remote Code Execution and has been addressed in version 1.2.4. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Frequently asked questions
- What is CVE-2024-28254?
- OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata repository, in-depth lineage, and seamless team collaboration. The `AlertUtil::validateExpression` method evaluates an SpEL expression using `getValue` which by default uses the `StandardEvaluationContext`, allowing the expression to reach and interact with Java classes such as `java.lang.Runtime`, leading to Remote Code Execution. The `/api/v1/events/subscriptions/validation/condition/<expression>` endpoint passes user-controlled data `AlertUtil::validateExpession` allowing authenticated (non-admin) users to execute arbitrary system commands on the underlaying operating system. In addition, there is a missing authorization check since `Authorizer.authorize()` is never called in the affected path and, therefore, any authenticated non-admin user is able to trigger this endpoint and evaluate arbitrary SpEL expressions leading to arbitrary command execution. This vulnerability was discovered with the help of CodeQL's Expression language injection (Spring) query and is also tracked as `GHSL-2023-235`. This issue may lead to Remote Code Execution and has been addressed in version 1.2.4. Users are advised to upgrade. There are no known workarounds for this vulnerability.
- How severe is CVE-2024-28254?
- CVE-2024-28254 has a CVSS 3.x base score of 8.8, rated high severity. It is exploitable over network with low attack complexity, requires low privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2024-28254 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 46% (99th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-28254?
- CVE-2024-28254 affects Open-metadata Openmetadata. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2024-28254?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2024-28254 have an EU (EUVD) identifier?
- Yes. CVE-2024-28254 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-25353.
- When was CVE-2024-28254 published?
- CVE-2024-28254 was published on 2024-03-15 and last updated on 2026-06-17.
References
- https://codeql.github.com/codeql-query-help/java/java-spel-expression-injection
- https://github.com/open-metadata/OpenMetadata/blob/84054a85d3478e3e3795fe92daa633ec11c9d6d9/openmetadata-service/src/main/java/org/openmetadata/service/events/subscription/AlertUtil.java#L101
- https://github.com/open-metadata/OpenMetadata/blob/84054a85d3478e3e3795fe92daa633ec11c9d6d9/openmetadata-service/src/main/java/org/openmetadata/service/events/subscription/AlertUtil.java#L108
- https://github.com/open-metadata/OpenMetadata/security/advisories/GHSA-j86m-rrpr-g8gw
- https://github.com/spring-projects/spring-framework/blob/4e2d3573189b7c0afce62bce29cd915de4077f56/spring-expression/src/main/java/org/springframework/expression/spel/standard/SpelExpression.java#L106
Affected products (1)
- cpe:2.3:a:open-metadata:openmetadata:*:*:*:*:*:*:*:*
More vulnerabilities in Open-metadata Openmetadata
- CVE-2024-28255 — Critical (CVSS 9.8): OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata…
- CVE-2024-28253 — Critical (CVSS 9.4): OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata…
- CVE-2024-28848 — High (CVSS 8.8): OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata…
- CVE-2024-28847 — High (CVSS 8.8): OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata…
- CVE-2026-26010 — High (CVSS 7.6): OpenMetadata is a unified metadata platform. Prior to 1.11.8, calls issued by the UI against /api/v1/ingestionPipelines…
- CVE-2026-22244 — High (CVSS 7.2): OpenMetadata is a unified metadata platform. Versions prior to 1.11.4 are vulnerable to remote code execution via…
All CVEs affecting Open-metadata Openmetadata →
Other CWE-78 (OS Command Injection) vulnerabilities
- CVE-2026-56004 — Critical (CVSS 10.0): A shellcode injection in the mercurial handler of the obs tar_scm source service before version 0.12.4 could be used by…
- CVE-2026-56415 — Critical (CVSS 10.0): Storage Concentrator (SC & SCVM) contains a command injection vulnerability within the debug.pl script that is…
- CVE-2026-56413 — Critical (CVSS 10.0): Storage Concentrator (SC & SCVM) contains a command injection vulnerability in the ms_service.pl service, which listens…
- CVE-2026-49869 — Critical (CVSS 10.0): Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, AuthenticationFilter in…
- CVE-2026-49261 — Critical (CVSS 10.0): MariaDB server is a community developed fork of MySQL server. Versions 10.6.1 through 10.6.26, 10.11.1 through…
- CVE-2026-10520 — Critical (CVSS 10.0): An OS Command Injection vulnerability in Ivanti Sentry before the R10.5.2, R10.6.2 and R10.7.1 versions allows a…