« Volver al listado

CVE-2024-53848

Estado: AplazadaAlta (7.1)—

check-jsonschema is a CLI and set of pre-commit hooks for jsonschema validation. The default cache strategy uses the basename of a remote schema as the name of the file in the cache, e.g. `https://example.org/schema.json` will be stored as `schema.json`. This naming allows for conflicts. If an attacker can get a user to run `check-jsonschema` against a malicious schema URL, e.g., `https://example.evil.org/schema.json`, they can insert their own schema into the cache and it will be picked up and used instead of the appropriate schema.

Leer descripción completaMostrar menos

Such a cache confusion attack could be used to allow data to pass validation which should have been rejected. This issue has been patched in version 0.30.0. All users are advised to upgrade. A few workarounds exist: 1. Users can use `--no-cache` to disable caching. 2. Users can use `--cache-filename` to select filenames for use in the cache, or to ensure that other usages do not overwrite the cached schema. (Note: this flag is being deprecated as part of the remediation effort.) 3. Users can explicitly download the schema before use as a local file, as in `curl -LOs https://example.org/schema.json; check-jsonschema --schemafile ./schema.json`

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).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

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-53848",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2024-53848",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2024-12-02T22:19:56.819438Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 7.1,
          "attackVector": "LOCAL",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 4,
        "exploitabilityScore": 2.5
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "python-jsonschema",
          "product": "check-jsonschema",
          "versions": [
            {
              "status": "affected",
              "version": "< 0.30.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2024-11-29T19:15:09.290",
  "references": [
    {
      "url": "https://github.com/python-jsonschema/check-jsonschema/commit/c52714b85e6725b1b24516fbdedacb333b939152",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/python-jsonschema/check-jsonschema/security/advisories/GHSA-q6mv-284r-mp36",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-349"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "check-jsonschema is a CLI and set of pre-commit hooks for jsonschema validation. The default cache strategy uses the basename of a remote schema as the name of the file in the cache, e.g. `https://example.org/schema.json` will be stored as `schema.json`. This naming allows for conflicts. If an attacker can get a user to run `check-jsonschema` against a malicious schema URL, e.g., `https://example.evil.org/schema.json`, they can insert their own schema into the cache and it will be picked up and used instead of the appropriate schema. Such a cache confusion attack could be used to allow data to pass validation which should have been rejected. This issue has been patched in version 0.30.0. All users are advised to upgrade. A few workarounds exist: 1. Users can use `--no-cache` to disable caching. 2. Users can use `--cache-filename` to select filenames for use in the cache, or to ensure that other usages do not overwrite the cached schema. (Note: this flag is being deprecated as part of the remediation effort.) 3. Users can explicitly download the schema before use as a local file, as in `curl -LOs https://example.org/schema.json; check-jsonschema --schemafile ./schema.json`"
    },
    {
      "lang": "es",
      "value": "check-jsonschema es una CLI y un conjunto de ganchos de pre-confirmación para la validación de jsonschema. La estrategia de caché predeterminada utiliza el nombre base de un esquema remoto como el nombre del archivo en la caché, p. ej., `https://example.org/schema.json` se almacenará como `schema.json`. Este nombre permite conflictos. Si un atacante puede lograr que un usuario ejecute `check-jsonschema` contra una URL de esquema malintencionada, p. ej., `https://example.evil.org/schema.json`, puede insertar su propio esquema en la caché y se seleccionará y usará en lugar del esquema apropiado. Un ataque de confusión de caché de este tipo podría usarse para permitir que los datos pasen la validación que deberían haber sido rechazados. Este problema se ha corregido en la versión 0.30.0. Se recomienda a todos los usuarios que actualicen. Existen algunos workaround: 1. Los usuarios pueden usar `--no-cache` para deshabilitar el almacenamiento en caché. 2. Los usuarios pueden usar `--cache-filename` para seleccionar nombres de archivos para usar en la memoria caché o para garantizar que otros usos no sobrescriban el esquema almacenado en caché. (Nota: esta opción se está descontinuando como parte del esfuerzo de remediación). 3. Los usuarios pueden descargar explícitamente el esquema antes de usarlo como un archivo local, como en `curl -LOs https://example.org/schema.json; check-jsonschema --schemafile ./schema.json`"
    }
  ],
  "lastModified": "2026-06-17T08:09:24.793",
  "sourceIdentifier": "security-advisories@github.com"
}