glance/glance/async_/flows
Dan Smith f45b5f024e Enforce image safety during image_conversion
This does two things:

1. It makes us check that the QCOW backing_file is unset on those
types of images. Nova and Cinder do this already to prevent an
arbitrary (and trivial to accomplish) host file exposure exploit.
2. It makes us restrict VMDK files to only allowed subtypes. These
files can name arbitrary files on disk as extents, providing the
same sort of attack. Default that list to just the types we believe
are actually useful for openstack, and which are monolithic.

The configuration option to specify allowed subtypes is added in
glance's config and not in the import options so that we can extend
this check later to image ingest. The format_inspector can tell us
what the type and subtype is, and we could reject those images early
and even in the case where image_conversion is not enabled.

Closes-Bug: #1996188
Change-Id: Idf561f6306cebf756c787d8eefdc452ce44bd5e0
(cherry picked from commit 0d6282a016)
(cherry picked from commit 4967ab6935)
(cherry picked from commit dc8e5a5cc7)
2022-12-19 15:35:58 +00:00
..
_internal_plugins Make copy_image plugin use action wrapper 2021-02-10 07:36:24 -08:00
plugins Enforce image safety during image_conversion 2022-12-19 15:35:58 +00:00
__init__.py Rename async package to async_ 2018-08-07 14:42:14 -04:00
api_image_import.py Add image_count_uploading quota enforcement 2021-07-02 08:29:07 -07:00
base_import.py Rethinking filesystem access 2019-10-01 09:53:48 +00:00
convert.py Rethinking filesystem access 2019-10-01 09:53:48 +00:00
introspect.py Rename async package to async_ 2018-08-07 14:42:14 -04:00
ovf_process.py Rethinking filesystem access 2019-10-01 09:53:48 +00:00