Fluent Bit 0-day漏洞使數十億生產環境面臨網絡攻擊威脅
研究人員發現了 Fluent Bit 中的關鍵 0-day 漏洞,這款日志收集工具廣泛應用于 AWS、Google Cloud 和 Microsoft Azure 等主要云服務提供商的云基礎設施中。這兩個漏洞被追蹤為 CVE-2024-50608 和 CVE-2024-50609(CVSS 評分 8.9),利用了 Fluent Bit 的 Prometheus Remote Write 和 OpenTelemetry 插件中的空指針解引用弱點。
Fluent Bit 擁有超過 150 億次下載和每日 1000 萬次部署,這些漏洞對全球企業和云生態系統構成嚴重威脅。
漏洞利用機制與攻擊面
Prometheus Remote Write 漏洞允許未經身份驗證的攻擊者通過發送 Content-Length: 0 的 HTTP POST 請求,導致 Fluent Bit 服務器崩潰。這種情況在解析指標數據時觸發了process_payload_metrics_ng()函數中的空指針解引用。以下是一個簡單的利用示例:
類似地,OpenTelemetry 插件在跟蹤配置請求中未能驗證輸入類型。向/api/v1/traces端點發送非字符串值(例如整數)會導致堆內存損壞,從而引發拒絕服務(DoS)或部分敏感信息泄露。Tenable 的實驗室測試證實了相鄰內存暴露,偶爾會泄露敏感的指標數據。
Fluent Bit 的架構通過涵蓋輸入解析、過濾和輸出路由進一步放大了風險。例如,配置不當的 HTTP 輸入插件會將 API 暴露給惡意負載:
影響:云基礎設施與企業面臨的風險
Fluent Bit 已集成到 Kubernetes 和云監控堆棧中,這意味著這些漏洞會波及多個服務。Cisco、Splunk 和 VMware 是其重要用戶,而 AWS Elastic Kubernetes Service (EKS) 等超大規模企業默認將其嵌入。攻擊者利用這些漏洞可能會破壞日志管道,導致事件響應和合規工作流程癱瘓。
Ebryx 使用 Boofuzz 進行的模糊測試揭示了系統性缺陷。例如,以下腳本對 Prometheus 插件的 HTTP 處理程序進行了模糊測試:
flb_sds_create_len()函數中缺乏輸入驗證,使得簡單的 DoS 攻擊成為可能。
緩解措施與行業響應
Fluent Bit 維護者在 v3.0.4 版本中發布了補丁,并將修復內容回溯到 v2.2.3 版本。關鍵的緩解措施包括:
- 立即為 Fluent Bit 實例打補丁。
- 通過網絡策略或身份驗證限制 API 訪問。
- 禁用未使用的端點,例如/api/v1/traces。
企業必須審核 Fluent Bit 配置、分割監控網絡,并采用持續的模糊測試策略。正如 Tenable 的披露時間表所示,行業與 AWS、Google 和 Microsoft 協作的補丁發布工作避免了漏洞的大規模利用。
然而,鑒于每日有 1000 萬次部署面臨風險,未打補丁的系統響應時間極其有限。