Fluent Bit中的CVE-2025-12969等五个漏洞
Fluent Bit 是一个开源的多平台日志采集器,旨在打造日志采集处理和分发的通用利器,它允许从不同的源收集数据并发送到多个目的地。
一、基本情况
Fluent Bit是一款开源、轻量级、高性能的日志收集工具,专为大规模分布式环境设计,支持从多种数据源采集、处理并分发日志和指标。

Fluent bit是插件式、轻量级、多平台开源日志收集工具,支持从文件系统(如systemd journal、容器日志)、网络接口、API等采集日志 。
栋科技漏洞库关注到Fluent Bit的漏洞:CVE-2025-12969、CVE-2025-12970、CVE-2025-12972、CVE-2025-12977、CVE-2025-12978。
二、漏洞分析
CVE-2025-12969,CVSS 3.X评分6.5
CVE-2025-12969漏洞是 Fluent Bit 的 in_forward 输入插件在某些配置条件下未能正确实施security.users身份验证机制而导致的安全漏洞。
具体来说,这是一个 in_forward插件中的身份验证绕过漏洞,这是一个从其他Fluent Bit或Fluentd实例接收日志的网络输入插件。
该漏洞使得具有网络访问权限的远程攻击者可以向暴露forward输入的Fluent Bit实例发送未经身份验证的数据。
如果指定了security.users配置选项,则不会进行身份验证,可能允许各种恶意活动,包括发送垃圾邮件安全警报以隐藏实际的恶意行为。
攻击者可以通过绕过身份验证控制来注入伪造日志记录、淹没警报系统或操纵路由决策,从而损害摄取日志的真实性和完整性。
CVE-2025-12970,CVSS 3.X评分8.8
CVE-2025-12970漏洞是Docker插件中的栈缓冲区溢出漏洞,该漏洞源于对容器名称长度缺乏校验,超长名称可直接触发内存破坏。
具体而言,源于Fluent Bit的in_docker输入插件中的extract_name函数将容器名称复制到一个固定大小的堆栈缓冲区中,而没有验证长度。
Fluent Bit 将容器名称复制到固定的256字节缓冲区中,而不检查其长度,这意味着长容器名称可能会溢出堆栈缓冲区。
该漏洞使得能够创建容器或控制容器名称的攻击者可以提供一个很长的名称,该名称会溢出缓冲区,从而导致进程崩溃或任意代码执行。
在更糟糕的情况下,溢出可能会让攻击者以代理的身份运行代码,让他们从主机窃取机密,安装后门,或横向移动到其他服务。
更严重的是,in_forward插件的认证机制存在逻辑缺陷,配置安全参数后反而完全跳过身份验证。
CVE-2025-12972,CVSS 3.X评分5.3
CVE-2025-12972漏洞是一个路径遍历漏洞,存在于File输出插件,攻击者可通过构造恶意标签实现任意文件写入。
易受攻击的配置:
任何可以(直接或间接)控制Tag值并且文件输出缺少定义的file键的配置。
设置了tag_key的HTTP输入和缺少file键的文件输出。
设置了tag_key的Splunk输入和缺少file键的文件输出。
带有tag_key集的Elasticsearch输入和缺少file键的文件输出。
正向输入与缺少file键的文件输出相结合。
Fluent Bit的out_file插件在生成输出文件名时未能正确清理标签值。当省略File选项时,插件会使用不受信任的标签输入来构建文件路径。
同样,由于Fluent Bit直接使用来自传入日志的标签而不进行清理,攻击者可以在标签中使用路径遍历字符“../”来更改文件路径和名称。
这使得拥有网络访问权限的攻击者可以制作包含路径遍历序列的标签,导致Fluent Bit在预期输出目录之外写入文件。
研究人员警告说称:由于攻击者还可以部分控制写入文件的数据,这可能会导致许多系统上的RCE。
CVE-2025-12977,CVSS 3.X评分9.1
CVE-2025-12977漏洞是一个tag_key配置选项中的部分字符串比较漏洞,
该漏洞允许攻击者通过部分字符匹配劫持日志路由,将伪造数据注入信任管道。受影响的输入:HTTP、Splunk、Elasticsearch。
漏洞源于长期未对输入标签进行规范化处理,Fluent Bit 的 in_http、in_splunk 和 in_elasticsearch 输入插件未能对 tag_key 输入进行清理。
当程序接受部分输入字符串作为完整字符串(如密码、用户名或文件路径)的匹配时,就会出现这种类型的漏洞
在这种情况下,该漏洞允许攻击者在不知道tag_key值的情况下控制标记的值,从而确定如何以及在何处处理日志数据。
具体来说,具有网络访问权限或能够向 Splunk 或 Elasticsearch 写入记录的攻击者可提供包含特殊字符(如换行符或 ../)的 tag_key 值,
这些值被视为有效标签。
由于标签会影响路由,且某些输出会根据标签生成文件名或内容,因此这可能导致换行符注入、路径遍历、伪造记录注入或日志路由错误,
通过网络访问fluentbit http输入服务器、Elasticsearch输入数据或Splunk输入数据的攻击者可以发送一个带有a-Z 0-9密钥的json,
基本上可以确保其中一个字符与密钥匹配,从而控制标签值。
攻击者可以劫持路由,在可信标签下注入虚假或恶意记录,绕过过滤器或监控,并混淆下游系统,
使日志最终出现在意外的数据库、仪表板或警报工具中,从而影响数据完整性和日志路由。
CVE-2025-12978,CVSS 3.X评分5.4
CVE-2025-12978漏洞是存在于Fluent Bit的in_http、in_splunk和in_elasticsearch输入插件中存在标签键验证逻辑上的漏洞。
CVE-2025-12978是由于对tag_key记录的输入验证不正确造成的。受影响的输入:HTTP、Splunk、Elasticsearch。
Fluent Bit的tag_key选项允许记录字段绕过正常的清理过程,直接定义标签,这可能会导致路径遍历、注入或下游输出中的意外文件写入。
具体而言,该漏洞源于Fluent Bit未能强制实施精确键长匹配,这使得攻击者可以精心构造输入,将标签前缀错误地视为完全匹配。
具有对这些输入端点进行身份验证或暴露访问权限的远程攻击者可以利用此行为来操纵标签并将记录重定向到非预期目的地。
这破坏了摄取日志的真实性,并可能导致注入伪造数据、警报泛滥和路由操纵等安全问题。
来自以色列的安全研究团队Oligo Security的安全人员披露了上述漏洞,这五个可串联利用的高危漏洞已潜伏多年且利用门槛极低。
作为全球主流云服务商和AI实验室核心组件,Fluent Bit涉及超过150亿次部署,漏洞可导致云服务完全瘫痪、数据篡改甚至远程代码执行。
由于这些漏洞涵盖认证绕过、路径遍历、远程代码执行等类型,因此攻击者可通过漏洞链实现毁灭性打击:
先利用标签漏洞控制数据流向,再结合路径遍历实现远程代码执行。
由于Fluent Bit常以Kubernetes守护进程集部署,单节点失陷可能引发集群级沦陷,攻击者可持续隐匿行踪并横向移动。
三、影响范围
Fluent Bit < 4.1.1
Fluent Bit < 4.0.12
四、修复建议
Fluent Bit >= 4.1.1
Fluent Bit >= 4.0.12
五、参考链接
管理员已设置登录后刷新可查看