CVE-2026-41041 Overview
CVE-2026-41041 is a URL path injection vulnerability in Apache Gravitino, an open-source metadata lake for unified data governance. The flaw stems from improper encoding of user-supplied identifiers before they are embedded into URL paths [CWE-177]. Attackers can craft malicious identifiers that manipulate the resulting request paths handled by the Gravitino server.
The issue affects Apache Gravitino versions 1.0.0 through versions prior to 1.2.1. The Apache Software Foundation has released version 1.2.1 to remediate the vulnerability.
Critical Impact
Unauthenticated network attackers can inject crafted identifiers into URL paths, enabling unauthorized access to metadata operations and integrity impact on the affected Gravitino service.
Affected Products
- Apache Gravitino 1.0.0 through 1.2.0
- Deployments using Gravitino REST API endpoints that consume user-supplied identifiers
- Data governance and metadata catalog stacks integrating vulnerable Gravitino builds
Discovery Timeline
- 2026-07-13 - CVE-2026-41041 published to the National Vulnerability Database
- 2026-07-13 - Apache Security Announcement released on the project mailing list
- 2026-07-13 - Last updated in NVD database
Technical Details for CVE-2026-41041
Vulnerability Analysis
Apache Gravitino exposes REST endpoints that accept user-supplied identifiers such as metalake, catalog, schema, and table names. These identifiers are concatenated into downstream URL paths without proper percent-encoding. An attacker who controls an identifier value can inject reserved URL characters, including /, .., and query delimiters, altering the semantics of the constructed request.
The vulnerability is classified under [CWE-177: Improper Handling of URL Encoding (Hex Encoding)]. Because Gravitino brokers metadata operations across multiple catalog backends, a manipulated path can redirect a request to an unintended resource or backend endpoint. This yields unauthorized read and write access to metadata that the caller should not reach.
The attack is reachable over the network without authentication or user interaction, and requires low complexity. Impact covers confidentiality and integrity of governed metadata, while availability of the service remains intact.
Root Cause
The root cause is the absence of URL encoding on identifier components before they are appended to request paths inside Gravitino's client and dispatcher code. Reserved characters pass through unchanged, allowing path segments to be broken out of their intended position. The fix in version 1.2.1 enforces proper encoding on identifier fields prior to URL construction.
Attack Vector
An attacker sends an HTTP request to a Gravitino REST endpoint containing a crafted identifier value, for example a metalake or catalog name containing path separators and traversal sequences. The server incorporates the value verbatim into an internal URL, causing the request to resolve to a different resource than the API contract implies. This can be used to bypass namespace boundaries and access or mutate metadata records belonging to other tenants or catalogs. See the Apache Security Announcement for authoritative details.
No public proof-of-concept exploit is currently available, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. The current EPSS probability is 0.592%.
Detection Methods for CVE-2026-41041
Indicators of Compromise
- HTTP requests to Gravitino REST endpoints containing URL-reserved characters such as %2F, /, or .. within identifier path parameters
- Access log entries showing metalake, catalog, schema, or table names that include path separators
- Unexpected cross-catalog or cross-metalake read and write operations recorded in Gravitino audit logs
- Requests originating from unauthenticated sources targeting /api/metalakes/, /api/catalogs/, or /api/schemas/ paths with anomalous identifiers
Detection Strategies
- Deploy request-inspection rules on the reverse proxy or API gateway fronting Gravitino to flag identifier segments containing /, \, .., or encoded equivalents
- Correlate Gravitino audit events with authentication logs to surface identifier-based access anomalies
- Compare requested identifiers against a known-good inventory of metalakes and catalogs, alerting on unregistered names
Monitoring Recommendations
- Enable verbose access logging on Gravitino and forward logs to a centralized analytics platform for retention and query
- Monitor 4xx and 5xx response patterns from Gravitino endpoints that may indicate probing of injectable identifier fields
- Track version metadata reported by Gravitino instances to identify hosts still running versions below 1.2.1
How to Mitigate CVE-2026-41041
Immediate Actions Required
- Upgrade all Apache Gravitino deployments to version 1.2.1 or later
- Inventory every Gravitino instance across development, staging, and production environments to confirm patch coverage
- Restrict network access to Gravitino REST endpoints to trusted client networks until patching completes
- Rotate service credentials used by Gravitino connectors if unauthorized metadata access is suspected
Patch Information
The Apache Gravitino project has released version 1.2.1 containing the fix. Users on the 1.0.x and 1.1.x branches must upgrade directly to 1.2.1. Refer to the Apache Security Announcement and the OpenWall OSS-Security Discussion for release notes and mailing list guidance.
Workarounds
- Place Gravitino behind an authenticating reverse proxy that validates identifier path segments against strict character allowlists
- Reject inbound requests whose path components contain URL-reserved characters or percent-encoded traversal sequences
- Enforce network segmentation so that only trusted metadata clients can reach Gravitino REST ports
# Example upgrade to the fixed Apache Gravitino release
wget https://downloads.apache.org/gravitino/1.2.1/gravitino-1.2.1-bin.tar.gz
tar -xzf gravitino-1.2.1-bin.tar.gz
cd gravitino-1.2.1
./bin/gravitino.sh stop
./bin/gravitino.sh start
./bin/gravitino.sh status
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

