Fluent Bit曝出五大安全漏洞,含栈缓冲区溢出与身份验证绕过

本文披露了日志收集器Fluent Bit中存在的五个高危漏洞,包括栈缓冲区溢出、身份验证绕过和路径遍历等,攻击者可借此实现远程代码执行或拒绝服务攻击。相关漏洞已在最新版本中修复。

概述

Fluent Bit 是一款用于各种云和容器网络环境的日志与指标处理器及转发器。已发现 Fluent Bit 中存在多个漏洞,这些漏洞可能导致身份验证绕过、远程代码执行和拒绝服务攻击,主要问题源于各种 Fluent Bit 插件及其处理标签的方式。其中许多漏洞要求攻击者能够网络访问 Fluent Bit 实例。Fluent Bit 已发布 4.0.12、4.1.1 和 4.2.0 版本来修复这些漏洞。

描述

Fluent Bit 是一款用于各种云和容器环境的日志与指标处理器及转发器。它通常用于将流量转发到安全信息和事件管理(SIEM)服务(如 Splunk)进行进一步分析。Fluent Bit 使用标签系统来处理和管理其转发的流量。已在 Fluent Bit 中发现多个漏洞,这些问题在很大程度上是由操作或支持标签的各种插件引发的。

各漏洞详情如下:

CVE-2025-12972 Fluent Bit 的 out_file 插件在派生输出文件名时未能正确清理标签值。当省略 File 选项时,该插件使用不受信任的标签输入来构建文件路径。这使得能够进行网络访问的攻击者可以制作包含路径遍历序列的标签,导致 Fluent Bit 在预期输出目录之外写入文件。

CVE-2025-12970 Fluent Bit 的 in_docker 输入插件中的 extract_name() 函数将容器名称复制到固定大小的栈缓冲区中,而未验证其长度。能够创建容器或控制容器名称的攻击者可以提供超长的名称导致缓冲区溢出,从而引发进程崩溃或任意代码执行。

CVE-2025-12969 Fluent Bit 的 in_forward 输入插件在某些配置条件下未能正确强制执行 security.users 身份验证机制。这使得能够网络访问暴露 forward 输入的 Fluent Bit 实例的远程攻击者可以发送未经身份验证的数据。通过绕过身份验证控制,攻击者可以注入伪造的日志记录、淹没告警系统或操纵路由决策,从而损害摄入日志的真实性和完整性。

CVE-2025-12977 Fluent Bit 的 in_http、in_splunk 和 in_elasticsearch 输入插件未能清理 tag_key 输入。能够网络访问或具备向 Splunk 或 Elasticsearch 写入记录能力的攻击者可以提供包含特殊字符(如换行符或 ../)的 tag_key 值,这些字符会被视为有效标签。由于标签会影响路由,并且一些输出会根据标签派生文件名或内容,这可能允许换行符注入、路径遍历、伪造记录注入或日志错误路由,从而影响数据完整性和日志路由。

CVE-2025-12978 Fluent Bit 的 in_http、in_splunk 和 in_elasticsearch 输入插件的 tag_key 验证逻辑存在缺陷,未能强制执行精确的键长度匹配。这导致精心构造的输入中,标签前缀被错误地视为完全匹配。能够通过身份验证或暴露访问这些输入端点的远程攻击者可以利用此行为操纵标签,并将记录重定向到非预期目的地。这会损害摄入日志的真实性,并可能允许注入伪造数据、告警泛滥和路由操纵。

影响

这些漏洞可能被用于身份验证绕过、远程代码执行、拒绝服务攻击以及标签操纵,从而导致 Fluent Bit 功能失常。

解决方案

所有漏洞均在 Fluent Bit 版本 4.0.12、4.1.1 和 4.2.0 中修复。用户应尽快下载并安装最新版本的 Fluent Bit。最新版本的 Fluent Bit 可在 https://fluentbit.io/announcements/ 获取。

致谢

感谢报告者 Oligo Security 的 Uri Katz。本文档由 Christopher Cullen 编写。

供应商信息

  • Amazon: 未知状态。
  • FluentBit: 未知状态。

参考链接

其他信息

CVE ID:

  • CVE-2025-12969
  • CVE-2025-12970
  • CVE-2025-12972
  • CVE-2025-12977
  • CVE-2025-12978

公开日期: 2025-11-18 首次发布日期: 2025-11-24 最后更新日期: 2025-11-28 17:33 UTC 文档版本: 3

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计