CVE-2026-71198 Overview
CVE-2026-71198 is a Server-Side Request Forgery (SSRF) vulnerability [CWE-918] in OpenStack Glance before version 32.0.1. The location API fails to validate destination hosts when an authenticated user adds an HTTP location to an image. Unlike the web-download import path, the location API only checks the URL scheme and skips the import_filtering_opts host restrictions. Attackers can point a location to internal endpoints such as the cloud metadata service at 169.254.169.254 and retrieve responses by downloading the image data. Both the new POST /v2/images/{id}/locations API and the older PATCH API when show_multiple_locations is enabled are affected. Deployments with the HTTP store backend enabled are vulnerable.
Critical Impact
Authenticated users can pivot Glance to fetch cloud metadata service credentials and reach internal-only HTTP endpoints, exposing sensitive infrastructure data.
Affected Products
- OpenStack Glance versions prior to 32.0.1
- Deployments with the HTTP store backend enabled
- Deployments with show_multiple_locations enabled (legacy PATCH API path)
Discovery Timeline
- 2026-09-14 - CVE-2026-71198 published to NVD
- 2026-09-14 - Last updated in NVD database
Technical Details for CVE-2026-71198
Vulnerability Analysis
OpenStack Glance exposes an image location API that allows authenticated users to associate external URLs with image records. The vulnerability stems from inconsistent enforcement of host filtering. The web-download import method applies the import_filtering_opts allow/deny host lists to block private, loopback, and link-local ranges. The location API path performs only a URL scheme check.
When an authenticated user supplies an HTTP location, Glance later fetches that URL and returns the body on image download. This effectively turns Glance into an authenticated HTTP proxy for internal networks. Attackers can request the Amazon EC2 or OpenStack Nova metadata service at 169.254.169.254, admin-only management interfaces, or other services not exposed to tenant networks.
Root Cause
The root cause is missing host validation on the location API endpoints. The POST /v2/images/{id}/locations handler and the legacy PATCH handler validate the URL scheme but do not invoke the shared import_filtering_opts checks used by web-download. Any host reachable from the Glance service is a valid target.
Attack Vector
An authenticated user with permission to create or modify image records issues an API request that adds an HTTP location pointing at an internal endpoint. The user then triggers an image data download. Glance fetches the attacker-supplied URL server-side and returns the response body. See the OpenStack Security Advisory OSSA-2026-038 and the Launchpad Bug Report for full technical details.
Detection Methods for CVE-2026-71198
Indicators of Compromise
- Glance API access logs containing POST /v2/images/{id}/locations or PATCH /v2/images/{id} requests with URLs referencing 169.254.169.254, 127.0.0.1, localhost, or RFC1918 addresses.
- Outbound HTTP requests from Glance service hosts to the cloud metadata service or internal management interfaces.
- Image records with location URLs targeting loopback, link-local, or private address ranges.
Detection Strategies
- Audit existing image records for locations containing internal, loopback, or metadata service hostnames and IP addresses.
- Correlate Keystone authentication events with Glance location-add API calls to identify low-privilege accounts probing internal endpoints.
- Alert on Glance service processes generating HTTP traffic to non-routable or infrastructure-only destinations.
Monitoring Recommendations
- Enable verbose Glance API logging and forward logs to a centralized SIEM for URL-based analysis.
- Monitor egress network flows from Glance API and worker nodes for connections to 169.254.169.254 and RFC1918 ranges.
- Track image download request patterns following recent location modifications on the same image ID.
How to Mitigate CVE-2026-71198
Immediate Actions Required
- Upgrade OpenStack Glance to version 32.0.1 or later.
- Disable the HTTP store backend if it is not required for operations.
- Set show_multiple_locations to false unless explicitly needed by the deployment.
- Review and remove any image records containing suspicious HTTP locations pointing to internal addresses.
Patch Information
OpenStack Glance version 32.0.1 addresses the vulnerability by applying import_filtering_opts host restrictions to the location API paths. Refer to OSSA-2026-038 and the Openwall OSS-Security Announcement for release details and backport information.
Workarounds
- Restrict Glance API access using role-based access control so only trusted service accounts can add image locations.
- Configure network egress filtering on Glance hosts to block access to the metadata service and management subnets.
- Disable the HTTP store backend in glance-api.conf where operationally feasible.
# Configuration example: restrict Glance HTTP store and locations
# /etc/glance/glance-api.conf
[DEFAULT]
show_multiple_locations = false
[glance_store]
# Remove 'http' from enabled_backends if not required
enabled_backends = file:file, cinder:cinder
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.