check-jsonschema 远程模式的默认缓存会导致缓存混淆(CVE-2024-53848)
CVE编号
CVE-2024-53848
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-30
漏洞描述
check-jsonschema是一个用于jsonschema验证的CLI和预提交钩子集。默认缓存策略使用远程模式的basename作为缓存中文件的名称,例如,`https://example.org/schema.json`将被存储为`schema.json`。这种命名方式可能导致冲突。如果攻击者能够使用户运行check-jsonschema针对恶意模式URL,例如`https://example.evil.org/schema.json`,他们可以将自己的模式插入缓存中,并将其拾取和用于替代适当的模式。这种缓存混淆攻击可用于允许数据通过本应被拒绝的模式验证。这个问题已在版本0.30.0中得到修复。建议所有用户进行升级。存在几种解决方法:1.用户可以使用`--no-cache`禁用缓存。2.用户可以使用`--cache-filename`来选择用于缓存的文件名,或确保其他用法不会覆盖缓存的模式。(注意:此标志作为补救措施的一部分正在被弃用。)3.用户可以在使用之前显式下载模式作为本地文件,例如`curl -LOs https://example.org/schema.json; check-jsonschema --schemafile ./schema.json`。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
文章评论