In OpenStack Glance before 32.0.1, the location API does not validate destination hosts when adding an HTTP location to an image. Unlike the web-download import path, the location API only checks the URL scheme and does not apply the import_filtering_opts host restrictions. An authenticated user can add a location pointing to internal endpoints such as the cloud metadata service (169.254.169.254), and retrieve the response by downloading the image data. This affects both the new POST /v2/images/{id}/locations API and the old PATCH API when show_multiple_locations is enabled. Deployments with the HTTP store backend enabled are affected.
{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:24.2.1-0ubuntu1.4"
},
{
"binary_name": "glance-api",
"binary_version": "2:24.2.1-0ubuntu1.4"
},
{
"binary_name": "glance-common",
"binary_version": "2:24.2.1-0ubuntu1.4"
},
{
"binary_name": "python3-glance",
"binary_version": "2:24.2.1-0ubuntu1.4"
}
]
}{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:28.1.0-0ubuntu1.2"
},
{
"binary_name": "glance-api",
"binary_version": "2:28.1.0-0ubuntu1.2"
},
{
"binary_name": "glance-common",
"binary_version": "2:28.1.0-0ubuntu1.2"
},
{
"binary_name": "python3-glance",
"binary_version": "2:28.1.0-0ubuntu1.2"
}
]
}{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:32.0.0-0ubuntu1"
},
{
"binary_name": "glance-api",
"binary_version": "2:32.0.0-0ubuntu1"
},
{
"binary_name": "glance-common",
"binary_version": "2:32.0.0-0ubuntu1"
},
{
"binary_name": "python3-glance",
"binary_version": "2:32.0.0-0ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
},
{
"binary_name": "glance-api",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
},
{
"binary_name": "glance-common",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
},
{
"binary_name": "glance-glare",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
},
{
"binary_name": "glance-registry",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
},
{
"binary_name": "python-glance",
"binary_version": "2:12.0.0-0ubuntu2+esm1"
}
]
}{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:16.0.1-0ubuntu1.1+esm2"
},
{
"binary_name": "glance-api",
"binary_version": "2:16.0.1-0ubuntu1.1+esm2"
},
{
"binary_name": "glance-common",
"binary_version": "2:16.0.1-0ubuntu1.1+esm2"
},
{
"binary_name": "glance-registry",
"binary_version": "2:16.0.1-0ubuntu1.1+esm2"
},
{
"binary_name": "python-glance",
"binary_version": "2:16.0.1-0ubuntu1.1+esm2"
}
]
}{
"binaries": [
{
"binary_name": "glance",
"binary_version": "2:20.2.0-0ubuntu1.2+esm2"
},
{
"binary_name": "glance-api",
"binary_version": "2:20.2.0-0ubuntu1.2+esm2"
},
{
"binary_name": "glance-common",
"binary_version": "2:20.2.0-0ubuntu1.2+esm2"
},
{
"binary_name": "python3-glance",
"binary_version": "2:20.2.0-0ubuntu1.2+esm2"
}
]
}