CVE-2026-44219ciguard是CI/CD管道的静态安全审计工具。在0.6.0至0.8.1版本中,其SCA HTTP客户端(位于osv.py和endoflife.py文件)在处理响应时,未对读取的字节数设置上限。攻击者可以通过控制上游服务或实施TLS中间人攻击,返回超大JSON响应,导致ciguard进程内存耗尽,从而引发拒绝服务。该问题已在0.8.2版本中修复。
该漏洞属于未限制资源分配类型的拒绝服务漏洞。漏洞根源在于`src/ciguard/analyzer/sca/osv.py`和`src/ciguard/analyzer/sca/endoflife.py`文件。当程序调用`resp.read().decode('utf-8')`并随后传递给`json.loads`时,没有限制读取的响应体大小。由于ciguard依赖外部API(如endoflife.date和OSV.dev)获取数据,如果这些外部服务被攻陷、恶意配置,或者攻击者成功实施TLS MITM攻击,便可向ciguard发送一个数GB大小的恶意JSON响应。ciguard在尝试解析该巨型JSON时会尝试分配对应大小的内存,导致系统内存资源被瞬间耗尽,进而使服务崩溃或挂起,严重干扰CI/CD流程的正常运行。