<Vulnerability name="CVE-2026-71196">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Important</ThreatSeverity>
    <PublicDate>2026-09-04T08:24:56</PublicDate>
    <Bugzilla id="2524516" url="https://bugzilla.redhat.com/show_bug.cgi?id=2524516" xml:lang="en:us">
openstack-glance: openstack-glance: SSRF via web-download import due to empty default host filters
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>7.7</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-918</CWE>
    <Details xml:lang="en:us" source="Red Hat">
A server-side request forgery (SSRF) vulnerability was found in OpenStack Glance. The web-download image import method allows authenticated users to provide a URI from which the Glance service fetches data. Due to insufficient default host filtering, an attacker with standard tenant credentials can make Glance issue HTTP requests to arbitrary internal network hosts, including the cloud metadata service. The fetched response is stored as image data and can be downloaded by the attacker, enabling exfiltration of sensitive internal data such as cloud instance credentials.
    </Details>
    <Statement xml:lang="en:us">
This vulnerability is rated as Important because an authenticated tenant with the standard member role can use Glance as a full-read SSRF proxy to internal HTTP services, including cloud metadata credentials. No administrative role is required. The web-download import method is enabled by default.

Red Hat OpenStack Services on OpenShift (RHOSO) and Red Hat OpenStack Platform (RHOSP) deployments that ship OpenStack Glance with web-download enabled are affected. Deployments that have removed web-download from enabled_import_methods, or that have explicitly configured disallowed_hosts to block internal IP ranges, are not affected by the default-config path.
    </Statement>
    <Acknowledgement xml:lang="en:us">
Upstream acknowledges Cyril Roelandt (Red Hat / OpenStack Glance Core Security Team) as the original reporter.
    </Acknowledgement>
    <Mitigation xml:lang="en:us">
Config changes are workarounds. Upgrade to the patched Glance release.

The strongest config-only control is to disable web-download:
enabled_import_methods = glance-direct, copy-image

Setting disallowed_hosts to 127.0.0.1, 169.254.169.254, and RFC1918 addresses is only a partial workaround. It works for a direct IP in the URL. It does not stop a hostname that resolves to a blocked IP (see CVE-2026-71197). The lists accept single IPs or hostnames only, not CIDR ranges. Blocking all RFC1918 addresses is stronger than the upstream patch, which only blocks loopback and link-local. If both allowed_hosts and disallowed_hosts are set, the blacklist is ignored.

Disabling the feature is safer than host filtering.
    </Mitigation>
    <PackageState cpe="cpe:/a:redhat:openstack:13">
        <ProductName>Red Hat OpenStack Platform 13 (Queens)</ProductName>
        <FixState>Affected</FixState>
        <PackageName>openstack-glance</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openstack:16.2">
        <ProductName>Red Hat OpenStack Platform 16.2</ProductName>
        <FixState>Affected</FixState>
        <PackageName>openstack-glance</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openstack:17.1">
        <ProductName>Red Hat OpenStack Platform 17.1</ProductName>
        <FixState>Affected</FixState>
        <PackageName>openstack-glance</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openstack:18.0">
        <ProductName>Red Hat OpenStack Platform 18.0</ProductName>
        <FixState>Affected</FixState>
        <PackageName>openstack-glance</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-71196
https://nvd.nist.gov/vuln/detail/CVE-2026-71196
https://bugs.launchpad.net/glance/+bug/2158998
https://redhat.atlassian.net/browse/OSPRH-32932
    </References>
</Vulnerability>