« Volver al listado

CVE-2024-31463

Estado: AplazadaMedia (4.7)—

Ironic-image is an OpenStack Ironic deployment packaged and configured by Metal3. When the reverse proxy mode is enabled by the `IRONIC_REVERSE_PROXY_SETUP` variable set to `true`, 1) HTTP basic credentials are validated on the HTTPD side in a separate container, not in the Ironic service itself and 2) Ironic listens in host network on a private port 6388 on localhost by default. As a result, when the reverse proxy mode is used, any Pod or local Unix user on the control plane Node can access the Ironic API on the private port without authentication.

Leer descripción completaMostrar menos

A similar problem affects Ironic Inspector (`INSPECTOR_REVERSE_PROXY_SETUP` set to `true`), although the attack potential is smaller there. This issue affects operators deploying ironic-image in the reverse proxy mode, which is the recommended mode when TLS is used (also recommended), with the `IRONIC_PRIVATE_PORT` variable unset or set to a numeric value. In this case, an attacker with enough privileges to launch a pod on the control plane with host networking can access Ironic API and use it to modify bare-metal machine, e.g. provision them with a new image or change their BIOS settings. This vulnerability is fixed in 24.1.1.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (2)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2024-31463",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2024-31463",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2024-07-03T15:16:37.818205Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 4.7,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "HIGH",
          "availabilityImpact": "NONE",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "metal3-io",
          "product": "ironic-image",
          "versions": [
            {
              "status": "affected",
              "version": "< 24.1.1"
            }
          ]
        }
      ]
    }
  ],
  "published": "2024-04-17T16:15:08.637",
  "references": [
    {
      "url": "https://github.com/metal3-io/ironic-image/commit/48e40bd30d49aefabac6fc80204a8650b13d10b4",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/metal3-io/ironic-image/pull/494",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/metal3-io/ironic-image/security/advisories/GHSA-g2cm-9v5f-qg7r",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/metal3-io/ironic-image/commit/48e40bd30d49aefabac6fc80204a8650b13d10b4",
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    },
    {
      "url": "https://github.com/metal3-io/ironic-image/pull/494",
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    },
    {
      "url": "https://github.com/metal3-io/ironic-image/security/advisories/GHSA-g2cm-9v5f-qg7r",
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-288"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Ironic-image is an OpenStack Ironic deployment packaged and configured by Metal3. When the reverse proxy mode is enabled by the `IRONIC_REVERSE_PROXY_SETUP` variable set to `true`, 1) HTTP basic credentials are validated on the HTTPD side in a separate container, not in the Ironic service itself and 2) Ironic listens in host network on a private port 6388 on localhost by default. As a result, when the reverse proxy mode is used, any Pod or local Unix user on the control plane Node can access the Ironic API on the private port without authentication. A similar problem affects Ironic Inspector (`INSPECTOR_REVERSE_PROXY_SETUP` set to `true`), although the attack potential is smaller there. This issue affects operators deploying ironic-image in the reverse proxy mode, which is the recommended mode when TLS is used (also recommended), with the `IRONIC_PRIVATE_PORT` variable unset or set to a numeric value. In this case, an attacker with enough privileges to launch a pod on the control plane with host networking can access Ironic API and use it to modify bare-metal machine, e.g. provision them with a new image or change their BIOS settings. This vulnerability is fixed in 24.1.1. "
    },
    {
      "lang": "es",
      "value": "Ironic-image es una implementación de OpenStack Ironic empaquetada y configurada por Metal3. Cuando el modo de proxy inverso está habilitado mediante la variable `IRONIC_REVERSE_PROXY_SETUP` establecida en `true`, 1) las credenciales básicas HTTP se validan en el lado HTTPD en un contenedor separado, no en el servicio Ironic en sí y 2) Ironic escucha en la red host en un puerto privado 6388 en localhost de forma predeterminada. Como resultado, cuando se utiliza el modo de proxy inverso, cualquier usuario Pod o Unix local en el plano de control Node puede acceder a la API Ironic en el puerto privado sin autenticación. Un problema similar afecta a Ironic Inspector (`INSPECTOR_REVERSE_PROXY_SETUP` establecido en `true`), aunque el potencial de ataque es menor allí. Este problema afecta a los operadores que implementan ironic-image en el modo de proxy inverso, que es el modo recomendado cuando se usa TLS (también recomendado), con la variable `IRONIC_PRIVATE_PORT` desarmada o configurada en un valor numérico. En este caso, un atacante con privilegios suficientes para iniciar un pod en el plano de control con red de host puede acceder a la API Ironic y usarla para modificar la máquina básica, por ejemplo, aprovisionarla con una nueva imagen o cambiar la configuración del BIOS. Esta vulnerabilidad se soluciona en 24.1.1."
    }
  ],
  "lastModified": "2026-06-17T07:28:28.497",
  "sourceIdentifier": "security-advisories@github.com"
}