check-jsonschema default caching for remote schemas allows for cache confusion
Impact
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.
Patches
A patch is in progress but has not yet been released.
Workarounds
- Users can use
--no-cacheto disable caching. - Users can use
--cache-filenameto 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.) - 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
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Python (PyPI) | check-jsonschema | < 0.30.0 | 0.30.0 |
Referencias
- https://github.com/python-jsonschema/check-jsonschema/security/advisories/GHSA-q6mv-284r-mp36
- https://nvd.nist.gov/vuln/detail/CVE-2024-53848
- https://github.com/python-jsonschema/check-jsonschema/commit/c52714b85e6725b1b24516fbdedacb333b939152
- https://github.com/python-jsonschema/check-jsonschema
- https://pypi.org/project/check-jsonschema
- https://github.com/advisories/GHSA-q6mv-284r-mp36
- Vector CVSS
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N- Debilidad (CWE)
CWE-349- Plataforma
- Python (PyPI)
- Paquete
check-jsonschema- Publicada
- 02.12.2024
- Actualizado
- 11.10.2026 13:19
Fuentes y licencias
OSV / GitHub Advisory Database - PYSEC-2026-1245 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-q6mv-284r-mp36 - CC BY 4.0
Historial de vulnerabilidades: check-jsonschema
Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
Esta es la única vulnerabilidad conocida de este paquete.
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.