# CVE-2024-28255: OpenMetadata - Authentication Bypass

> Live exploitation tracking for CVE-2024-28255 by the CrowdSec Live Exploit Tracker, built from real-world attack data crowdsourced from CrowdSec's global network.

Page: https://tracker.crowdsec.net/cves/CVE-2024-28255

## Key facts

- **Exploitation phase:** Background Noise. Continuous low-level scanning or exploitation attempts are observed, mostly opportunistic and automated.
- **CVSS score:** 9.8
- **Public exploit available:** Yes
- **Affected products:** OpenMetadata
- **Weaknesses:** CWE-287 (Improper Authentication)
- **Tags:** web_application

## 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 `JwtFilter` handles the API authentication by requiring and verifying JWT tokens. When a new request comes in, the request's path is checked against this list. When the request's path contains any of the excluded endpoints the filter returns without validating the JWT. Unfortunately, an attacker may use Path Parameters to make any path contain any arbitrary strings. For example, a request to `GET /api/v1;v1%2fusers%2flogin/events/subscriptions/validation/condition/111` will match the excluded endpoint condition and therefore will be processed with no JWT validation allowing an attacker to bypass the authentication mechanism and reach any arbitrary endpoint, including the ones listed above that lead to arbitrary SpEL expression injection. This bypass will not work when the endpoint uses the `SecurityContext.getUserPrincipal()` since it will return `null` and will throw an NPE. This issue may lead to authentication bypass and has been addressed in version 1.2.4. Users are advised to upgrade. There are no known workarounds for this vulnerability. This issue is also tracked as `GHSL-2023-237`.

## CrowdSec analysis

[CVE-2024-28255](https://euvd.enisa.europa.eu/vulnerability/CVE-2024-28255) is a critical vulnerability in OpenMetadata that allows attackers to bypass API authentication by manipulating certain request paths, potentially leading to arbitrary SpEL expression injection and full compromise of the system.

CrowdSec has been tracking this vulnerability and its exploits since 31st of July 2024.

According to CrowdSec data, while opportunistic exploitation dominates, a portion of threat actors trying to exploit CVE-2024-28255 apply basic targeting methods such as port or service detection. This indicates emerging patterns of selective targeting.
Telemetry from the CrowdSec network also shows that exploitation activity for CVE-2024-28255 remains steady week-over-week. Attack volumes are consistent with long-term trends, indicating sustained interest from threat actors. CVE-2024-28255 continues to be an active part of the threat landscape and will likely remain this way for the forseeable future.

Exploitation attempts frequently involve URLs containing `/api/v1;v1/users/login/events/subscriptions/validation/condition`.

## Timeline

- 2024-03-15: CVE Published. CVE-2024-28255 is published to NVD.
- 2024-07-31: Rule Released. CrowdSec releases a rule to detect CVE-2024-28255 exploitation attempts against the CrowdSec Network.
- 2024-11-23: CrowdSec First Seen. CrowdSec observes in-the-wild exploitation of CVE-2024-28255 for the first time.

## References

- https://github.com/open-metadata/OpenMetadata/security/advisories/GHSA-6wx7-qw5p-wh84
- https://github.com/open-metadata/OpenMetadata/blob/e2043a3f31312ebb42391d6c93a67584d798de52/openmetadata-service/src/main/java/org/openmetadata/service/security/JwtFilter.java#L111
- https://github.com/open-metadata/OpenMetadata/blob/e2043a3f31312ebb42391d6c93a67584d798de52/openmetadata-service/src/main/java/org/openmetadata/service/security/JwtFilter.java#L113
- https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2024/CVE-2024-28255.yaml
- https://www.vicarius.io/vsociety/posts/authentication-bypass-with-path-parameter-in-openmetadata-cve-2024-28255

## Live exploitation data

The [Live Exploit Tracker page](https://tracker.crowdsec.net/cves/CVE-2024-28255) follows observed exploitation activity for CVE-2024-28255. [Request an API key](https://tracker.crowdsec.net/request-api-key) for full access to its exploitation timeline, attacking IP addresses and blocklists.
