All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@gmail.com>
To: hprajapati@mvista.com
Cc: meta-virtualization@lists.yoctoproject.org
Subject: Re: [meta-virtualization][kirkstone][PATCH] cloud-init: fix for CVE-2024-6174
Date: Wed, 3 Sep 2025 21:11:00 -0400	[thread overview]
Message-ID: <aLjnJLySfkEp8NSf@gmail.com> (raw)
In-Reply-To: <20250820082109.100727-1-hprajapati@mvista.com>

merged.

Bruce

In message: [meta-virtualization][kirkstone][PATCH] cloud-init: fix for CVE-2024-6174
on 20/08/2025 Hitendra Prajapati via lists.yoctoproject.org wrote:

> Upstream-Status: Backport from https://github.com/canonical/cloud-init/commit/f43937f0b462734eb9c76700491c18fe4133c8e1
> 
> Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
> ---
>  .../cloud-init/cloud-init/CVE-2024-6174.patch | 103 ++++++++++++++++++
>  .../cloud-init/cloud-init_21.4.bb             |   1 +
>  2 files changed, 104 insertions(+)
>  create mode 100644 recipes-extended/cloud-init/cloud-init/CVE-2024-6174.patch
> 
> diff --git a/recipes-extended/cloud-init/cloud-init/CVE-2024-6174.patch b/recipes-extended/cloud-init/cloud-init/CVE-2024-6174.patch
> new file mode 100644
> index 00000000..797155ce
> --- /dev/null
> +++ b/recipes-extended/cloud-init/cloud-init/CVE-2024-6174.patch
> @@ -0,0 +1,103 @@
> +From f43937f0b462734eb9c76700491c18fe4133c8e1 Mon Sep 17 00:00:00 2001
> +From: Brett Holman <brett.holman@canonical.com>
> +Date: Thu, 22 Aug 2024 16:54:53 -0600
> +Subject: [PATCH] fix: Don't attempt to identify non-x86 OpenStack instances
> +
> +This causes cloud-init to attempt to reach out to the OpenStack Nova
> +datasource in non-Nova deployments on non-x86 architectures.
> +
> +Change default policy of ds-identify to disallow discovery of datasources
> +without strict identifiable artifacts in either kernel cmdline, DMI
> +platform information or system configuration files. This prevents
> +cloud-init from attempting to reach out to well-known hard-codded link-local
> +IP addresses for configuration information unless the platform strictly
> +identifies as a specific datasource.
> +
> +CVE-2024-6174
> +LP: #2069607
> +BREAKING_CHANGE: This may break non-x86 OpenStack Nova users. Affected users
> +    may wish to use ConfigDrive as a workaround.
> +
> +CVE: CVE-2024-6174
> +Upstream-Status: Backport [https://github.com/canonical/cloud-init/commit/f43937f0b462734eb9c76700491c18fe4133c8e1]
> +Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
> +---
> + tests/unittests/test_ds_identify.py | 13 ++++++-------
> + tools/ds-identify                   |  8 ++++----
> + 2 files changed, 10 insertions(+), 11 deletions(-)
> +
> +diff --git a/tests/unittests/test_ds_identify.py b/tests/unittests/test_ds_identify.py
> +index f2d2b4949..aaa6999e1 100644
> +--- a/tests/unittests/test_ds_identify.py
> ++++ b/tests/unittests/test_ds_identify.py
> +@@ -57,9 +57,9 @@ BLKID_UEFI_UBUNTU = [
> + 
> + 
> + POLICY_FOUND_ONLY = "search,found=all,maybe=none,notfound=disabled"
> +-POLICY_FOUND_OR_MAYBE = "search,found=all,maybe=all,notfound=disabled"
> +-DI_DEFAULT_POLICY = "search,found=all,maybe=all,notfound=disabled"
> +-DI_DEFAULT_POLICY_NO_DMI = "search,found=all,maybe=all,notfound=enabled"
> ++POLICY_FOUND_OR_MAYBE = "search,found=all,maybe=none,notfound=disabled"
> ++DI_DEFAULT_POLICY = "search,found=all,maybe=none,notfound=disabled"
> ++DI_DEFAULT_POLICY_NO_DMI = "search,found=all,maybe=none,notfound=enabled"
> + DI_EC2_STRICT_ID_DEFAULT = "true"
> + OVF_MATCH_STRING = "http://schemas.dmtf.org/ovf/environment/1"
> + 
> +@@ -533,7 +533,7 @@ class TestDsIdentify(DsIdentifyBase):
> +         self._test_ds_found("OpenStack-AssetTag-Compute")
> + 
> +     def test_openstack_on_non_intel_is_maybe(self):
> +-        """On non-Intel, openstack without dmi info is maybe.
> ++        """On non-Intel, openstack without dmi info is none.
> + 
> +         nova does not identify itself on platforms other than intel.
> +            https://bugs.launchpad.net/cloud-init/+bugs?field.tag=dsid-nova"""
> +@@ -553,10 +553,9 @@ class TestDsIdentify(DsIdentifyBase):
> + 
> +         # updating the uname to ppc64 though should get a maybe.
> +         data.update({"mocks": [MOCK_VIRT_IS_KVM, MOCK_UNAME_IS_PPC64]})
> +-        (_, _, err, _, _) = self._check_via_dict(
> +-            data, RC_FOUND, dslist=["OpenStack", "None"]
> +-        )
> ++        (_, _, err, _, _) = self._check_via_dict(data, RC_NOT_FOUND)
> +         self.assertIn("check for 'OpenStack' returned maybe", err)
> ++        self.assertIn("No ds found", err)
> + 
> +     def test_default_ovf_is_found(self):
> +         """OVF is identified found when ovf/ovf-env.xml seed file exists."""
> +diff --git a/tools/ds-identify b/tools/ds-identify
> +index 30d4b0f65..4dd0b5fcf 100755
> +--- a/tools/ds-identify
> ++++ b/tools/ds-identify
> +@@ -14,7 +14,7 @@
> + #   The format is:
> + #        <mode>,found=value,maybe=value,notfound=value
> + #   default setting is:
> +-#     search,found=all,maybe=all,notfound=disabled
> ++#     search,found=all,maybe=none,notfound=disabled
> + #
> + #   kernel command line option: ci.di.policy=<policy>
> + #   example line in /etc/cloud/ds-identify.cfg:
> +@@ -40,7 +40,7 @@
> + #         first: use the first found do no further checking
> + #         all: enable all DS_FOUND
> + #
> +-#      maybe: (default=all)
> ++#      maybe: (default=none)
> + #       if nothing returned 'found', then how to handle maybe.
> + #       no network sources are allowed to return 'maybe'.
> + #         all: enable all DS_MAYBE
> +@@ -94,8 +94,8 @@ DI_MAIN=${DI_MAIN:-main}
> + 
> + DI_BLKID_EXPORT_OUT=""
> + DI_GEOM_LABEL_STATUS_OUT=""
> +-DI_DEFAULT_POLICY="search,found=all,maybe=all,notfound=${DI_DISABLED}"
> +-DI_DEFAULT_POLICY_NO_DMI="search,found=all,maybe=all,notfound=${DI_ENABLED}"
> ++DI_DEFAULT_POLICY="search,found=all,maybe=none,notfound=${DI_DISABLED}"
> ++DI_DEFAULT_POLICY_NO_DMI="search,found=all,maybe=none,notfound=${DI_ENABLED}"
> + DI_DMI_CHASSIS_ASSET_TAG=""
> + DI_DMI_PRODUCT_NAME=""
> + DI_DMI_SYS_VENDOR=""
> +-- 
> +2.50.1
> +
> diff --git a/recipes-extended/cloud-init/cloud-init_21.4.bb b/recipes-extended/cloud-init/cloud-init_21.4.bb
> index 5cb62272..02a89a58 100644
> --- a/recipes-extended/cloud-init/cloud-init_21.4.bb
> +++ b/recipes-extended/cloud-init/cloud-init_21.4.bb
> @@ -9,6 +9,7 @@ SRC_URI = "git://github.com/canonical/cloud-init;branch=main;protocol=https \
>      file://cloud-init-source-local-lsb-functions.patch \
>      file://0001-setup.py-check-for-install-anywhere-in-args.patch \
>      file://0001-setup.py-respect-udevdir-variable.patch \
> +    file://CVE-2024-6174.patch \
>  "
>  
>  S = "${WORKDIR}/git"
> -- 
> 2.50.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#9352): https://lists.yoctoproject.org/g/meta-virtualization/message/9352
> Mute This Topic: https://lists.yoctoproject.org/mt/114795944/1050810
> Group Owner: meta-virtualization+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



      reply	other threads:[~2025-09-04  1:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-20  8:21 [meta-virtualization][kirkstone][PATCH] cloud-init: fix for CVE-2024-6174 Hitendra Prajapati
2025-09-04  1:11 ` Bruce Ashfield [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aLjnJLySfkEp8NSf@gmail.com \
    --to=bruce.ashfield@gmail.com \
    --cc=hprajapati@mvista.com \
    --cc=meta-virtualization@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.