CVE-2025-12970CVE-2025-12970是Fluent Bit日志收集工具中的一个高危安全漏洞。该漏洞存在于Fluent Bit的in_docker输入插件的extract_name函数中,攻击者可以通过创建超长容器名称来触发缓冲区溢出。由于该函数在将容器名称复制到固定大小的栈缓冲区时未进行长度验证,攻击者可利用此漏洞造成进程崩溃或实现任意代码执行。CVSS评分8.8,属于高危级别,攻击向量为网络,认证要求低权限,无需用户交互即可利用。Fluent Bit作为云原生环境中广泛使用的日志采集器,该漏洞影响范围广泛,攻击者可从网络远程发起攻击,对容器化环境造成严重威胁。
漏洞根源在于Fluent Bit的in_docker输入插件中extract_name函数的实现缺陷。该函数负责从Docker容器中提取容器名称信息,但使用了固定大小的栈缓冲区(char buffer[128]或类似大小)来存储容器名称。在将容器名称复制到该缓冲区时,代码直接使用strcpy或类似函数而未进行边界检查。当攻击者能够创建或控制容器名称时,可以提供超过缓冲区大小的超长字符串,导致缓冲区溢出。栈缓冲区溢出可覆盖返回地址和关键寄存器值,精心构造的payload能够实现任意代码执行。即使无法完全控制溢出数据,缓冲区溢出也可能导致进程崩溃,引发拒绝服务。该漏洞需要攻击者具备在目标环境中创建容器的权限,在Kubernetes等容器编排环境中较为容易实现。