« Volver al listado

CVE-2024-52296

Estado: AplazadaMedia (6.5)—

libosdp is an implementation of IEC 60839-11-5 OSDP (Open Supervised Device Protocol) and provides a C library with support for C++, Rust and Python3. At ospd_common.c, on the osdp_reply_name function, any reply id between REPLY_ACK and REPLY_XRD is valid, but names array do not declare all of the range. On a case of an undefined reply id within the range, name will be null (name = names[reply_id - REPLY_ACK];). Null name will casue a crash on next line: if (name[0] == '\0') as null[0] is invalid. As this logic is not limited to a secure connection, attacker may trigger this vulnerability without any prior knowledge. This issue is fixed in 2.4.0.

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 (1)

⚠ 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-52296",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2024-52296",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2024-11-19T17:01:45.739953Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 6.5,
          "attackVector": "ADJACENT_NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 2.8
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "goToMain",
          "product": "libosdp",
          "versions": [
            {
              "status": "affected",
              "version": "< 2.4.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2024-11-12T16:15:26.030",
  "references": [
    {
      "url": "https://github.com/goToMain/libosdp/commit/24409e98a260176765956ec766a04cb35984fab1",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/goToMain/libosdp/security/advisories/GHSA-7945-5mcv-f2pp",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-476"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "libosdp is an implementation of IEC 60839-11-5 OSDP (Open Supervised Device Protocol) and provides a C library with support for C++, Rust and Python3. At ospd_common.c, on the osdp_reply_name function, any reply id between REPLY_ACK and REPLY_XRD is valid, but names array do not declare all of the range. On a case of an undefined reply id within the range, name will be null (name = names[reply_id - REPLY_ACK];). Null name will casue a crash on next line: if (name[0] == '\\0') as null[0] is invalid. As this logic is not limited to a secure connection, attacker may trigger this vulnerability without any prior knowledge. This issue is fixed in 2.4.0."
    },
    {
      "lang": "es",
      "value": "libosdp es una implementación de IEC 60839-11-5 OSDP (Open Supervised Device Protocol) y proporciona una librería C con soporte para C++, Rust y Python3. En ospd_common.c, en la función osdp_reply_name, cualquier id de respuesta entre REPLY_ACK y REPLY_XRD es válido, pero la matriz de nombres no declara todo el rango. En el caso de un id de respuesta indefinido dentro del rango, el nombre será nulo (nombre = nombres[id_de_respuesta - REPLY_ACK];). Un nombre nulo provocará un bloqueo en la siguiente línea: si (nombre[0] == '\\0') ya que null[0] no es válido. Como esta lógica no se limita a una conexión segura, el atacante puede activar esta vulnerabilidad sin ningún conocimiento previo. Este problema se solucionó en 2.4.0."
    }
  ],
  "lastModified": "2026-06-17T08:06:57.680",
  "sourceIdentifier": "security-advisories@github.com"
}