A service for managing and provisioning Bare Metal servers.
Find a file
Julia Kreger 0942a1b198 Checksum files before raw conversion
While working another issue, we discovered that support added to
the ironic-conductor process combined the image_download_source
option of "local" with the "force_raw" option resulted in a case
where Ironic had no concept to checksum the files *before* the
conductor process triggered an image format conversion and
then records new checksum values.

In essence, this opened the user requested image file to be
suspetible to a theoretical man-in-the-middle attack OR
the remote server replacing the content with an unknown file,
such as a new major version.

The is at odds with Ironic's security model where we do want to
ensure the end user of ironic is asserting a known checksum for
the image artifact they are deploying, so they are aware of the
present state. Due to the risk, we chose to raise this as a CVE,
as infrastructure operators should likely apply this patch.

As a note, if your *not* forcing all images to be raw format
through the conductor, then this issue is likely not a major
issue for you, but you should still apply the patch.

This is being tracked as CVE-2024-47211.

Closes-Bug: 2076289
Change-Id: Id6185b317aa6e4f4363ee49f77e688701995323a
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2024-09-25 14:47:09 -07:00
api-ref Add 'agent_token' to heartbeat request 2020-09-10 14:19:21 +00:00
devstack Try limiting MTU to at least 1280 2024-09-12 18:08:18 +00:00
doc Checksum files before raw conversion 2024-09-25 14:47:09 -07:00
etc Remove qemu-img rootwrap filter 2020-08-18 16:12:57 +02:00
ironic Checksum files before raw conversion 2024-09-25 14:47:09 -07:00
playbooks/ci-workarounds Native zuulv3 grenade multinode multitenant 2020-09-16 23:33:42 +02:00
releasenotes Checksum files before raw conversion 2024-09-25 14:47:09 -07:00
tools CI: update bindep for centos-8 py36 job changes 2020-10-04 12:29:23 +00:00
zuul.d ci: unmaintained/victoria - dial back CI 2024-09-05 14:31:57 -07:00
.gitignore Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
.gitreview Update .gitreview for unmaintained/victoria 2024-03-14 11:18:55 +00:00
.mailmap Add my new address to .mailmap 2020-04-13 07:29:37 -07:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-22 08:56:34 +00:00
bindep.txt CI: use a custom cirros partition image instead of the default 2022-02-17 12:52:42 +01:00
CONTRIBUTING.rst Project Contributing updates for Goal 2020-02-20 02:01:21 +00:00
driver-requirements.txt Fix iRMC driver to use certification file in HTTPS 2022-09-18 12:28:29 +09:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
lower-constraints.txt Fix iRMC driver to use certification file in HTTPS 2022-09-18 12:28:29 +09:00
README.rst Add ironic-specs link to readme.rst 2019-08-30 17:16:09 +08:00
requirements.txt Fix iRMC driver to use certification file in HTTPS 2022-09-18 12:28:29 +09:00
setup.cfg Merge "Add Redfish BIOS interface to idrac HW type" 2020-09-25 02:32:22 +00:00
setup.py Cleanup Python 2.7 support 2020-04-03 17:49:23 +02:00
test-requirements.txt Fix handling OctetString for pysnmp 2020-09-29 13:00:52 +00:00
tox.ini [stable-only] Cap virtualenv/setuptools 2023-07-17 16:57:28 +02:00

======
Ironic
======

Team and repository tags
------------------------

.. image:: https://governance.openstack.org/tc/badges/ironic.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

Overview
--------

Ironic consists of an API and plug-ins for managing and provisioning
physical machines in a security-aware and fault-tolerant manner. It can be
used with nova as a hypervisor driver, or standalone service using bifrost.
By default, it will use PXE and IPMI to interact with bare metal machines.
Ironic also supports vendor-specific plug-ins which may implement additional
functionality.

Ironic is distributed under the terms of the Apache License, Version 2.0. The
full terms and conditions of this license are detailed in the LICENSE file.

Project resources
~~~~~~~~~~~~~~~~~

* Documentation: https://docs.openstack.org/ironic/latest
* Source: https://opendev.org/openstack/ironic
* Bugs: https://storyboard.openstack.org/#!/project/943
* Wiki: https://wiki.openstack.org/wiki/Ironic
* APIs: https://docs.openstack.org/api-ref/baremetal/index.html
* Release Notes: https://docs.openstack.org/releasenotes/ironic/
* Design Specifications: https://specs.openstack.org/openstack/ironic-specs/

Project status, bugs, and requests for feature enhancements (RFEs) are tracked
in StoryBoard:
https://storyboard.openstack.org/#!/project/943

For information on how to contribute to ironic, see
https://docs.openstack.org/ironic/latest/contributor