Apache Gravitino Authenticated Server-Side Request Forgery
Apache Gravitino versions 1.0.0 through 1.2.1 contain an authenticated SSRF vulnerability (CVE-2026-49876) allowing attackers to perform internal network reconnaissance or access metadata services.
CVE search metadata
CVE search record: CVE-2026-49876. Severity: medium. CVSS: 6.5. EPSS: 0.40%. KEV: no. Product: Gravitino. Brief: Apache Gravitino Authenticated Server-Side Request Forgery. Brief link: https://feed.craftedsignal.io/briefs/2026-08-apache-gravitino-ssrf/
Apache Gravitino versions 1.0.0 through 1.2.1 are susceptible to a Server-Side Request Forgery (SSRF) vulnerability identified as CVE-2026-49876. The vulnerability resides within the fetchFileFromUri() method in JobManager.java, which processes job template fields such as executable scripts, jars, and archives. The application fails to validate the destination URI provided by users, permitting the use of http, https, and ftp schemes. By registering a malicious job template, an authenticated attacker can force the server to fetch content from internal network resources or cloud metadata services. The downloaded content is subsequently written to the server's staging directory. This impact is significant for environments leveraging Gravitino in cloud deployments, where the application may be used to exfiltrate cloud instance identity tokens via the metadata service.
Attack Chain
- Attacker authenticates to the Apache Gravitino REST API using valid user credentials.
- Attacker interacts with the
/api/metalakes/{metalake}/jobs/templatesendpoint to register a new job template. - Attacker specifies a crafted URI in the
executablefield of the job template, pointing to an internal resource (e.g.,http://169.254.169.254/latest/meta-data/). - Attacker triggers the job execution via the
/api/metalakes/{metalake}/jobs/runsendpoint. - The application's
fetchFileFromUri()method processes the job template and initiates an outbound request to the attacker-supplied URI. - The server fetches the remote resource and saves it to the local staging directory via
FileUtils.copyURLToFile(). - Attacker retrieves the content from the staging directory or observes interactions via an OOB callback server if blind SSRF techniques are employed.
Impact
Successful exploitation allows an authenticated attacker to perform unauthorized internal reconnaissance, access sensitive configuration files, or exfiltrate cloud environment metadata (such as IAM role credentials). The scope affects all Gravitino instances between versions 1.0.0 and 1.2.1, with Ubuntu 22.04 environments explicitly confirmed as a target platform.
Recommendation
- Upgrade Apache Gravitino to the latest version that includes the patch for CVE-2026-49876.
- Restrict access to the Gravitino REST API to trusted users and IP ranges.
- Enable egress filtering on the application server hosting Gravitino to prevent unauthorized connections to sensitive internal subnets and cloud metadata endpoints (e.g., 169.254.169.254).
- Deploy the provided Sigma rule to monitor for suspicious job template registration patterns via web server logs.
Immediate actions
Patch all instances of Apache Gravitino to version 1.3.0 or later
Threat Hunt
Search logs for unauthorized attempts to access 169.254.169.254 from web servers
Data: webserver_logs
Enrichment needed
- CVE-2026-49876 (CTI) Confirm availability of vendor fix
Mitigations
Egress filtering for Gravitino server
CVE-2026-49876
Gaps
- None
Detection coverage 1
Detect CVE-2026-49876 Exploitation - Gravitino Job Template SSRF
highDetects exploitation of CVE-2026-49876 by monitoring for POST requests to the Gravitino job template API containing potential SSRF target URI patterns in the job template body.
Detection queries are available on the platform. Get full rules →