
Wprowadzenie do problemu / definicja luki
Oligo Security opisało łańcuch pięciu podatności we Fluent Bit – popularnym, lekkim agencie telemetrii do logów/metryk/tras – który może prowadzić do przejęcia usług chmurowych. Luki obejmują m.in. path traversal z zapisem plików, przepełnienie bufora w wtyczce Docker, fałszowanie i korupcję tagów oraz bypass uwierzytelniania w protokole forward. Producent wydał poprawki w gałęziach 4.1.x i 4.0.x.
W skrócie
- CVE-2025-12972 – brak sanityzacji tagów przy generowaniu nazw plików w
out_file→ path traversal i potencjalny RCE. - CVE-2025-12970 – stack buffer overflow w wejściu Docker przy ekstremalnie długich nazwach kontenerów → DoS/RCE.
- CVE-2025-12978 – częściowe porównanie
Tag_Key→ spoofing tagów i obchodzenie filtrów/routingu. - CVE-2025-12977 – niewłaściwa walidacja wejścia dla tagów z pól użytkownika → korupcja logów/atak na wyjścia.
- CVE-2025-12969 – bypass uwierzytelniania w
in_forward, gdy ustawiono tylkoSecurity.Users. - Wersje naprawcze: zaktualizuj do Fluent Bit 4.1.1 lub 4.0.12 (LTS) – poprawki backportowane.
Kontekst / historia / powiązania
Fluent Bit jest szeroko wykorzystywany (AI-labsy, bankowość, dostawcy chmury). To nie pierwsze problemy bezpieczeństwa: w 2024 r. głośna była luka CVE-2024-4323 „Linguistic Lumberjack” w wbudowanym serwerze HTTP (DoS/ujawnienie informacji/RCE). Nowy zestaw CVE uderza w inną powierzchnię ataku (tagowanie, plikowe wyjścia, wejścia Docker/forward/Splunk/Elasticsearch) i może być łączony w łańcuchy do pełnego przejęcia pipeline’u logów.
Analiza techniczna / szczegóły luki
1) CVE-2025-12972 – Path traversal w out_file
- Błąd: tag (często kontrolowany przez klienta) jest używany do budowy nazwy pliku, gdy brak klucza
File; brak filtracji../. - Skutek: zapis/nadpisanie dowolnych ścieżek → tampering logów lub RCE (np. przez zapis pliku konfig./skryptu w wykonywalnej lokalizacji).
- Dotyczy: konfiguracji z dynamicznymi tagami +
out_filebezFile.
2) CVE-2025-12970 – Przepełnienie bufora w wejściu Docker
- Błąd: kopiowanie nazwy kontenera do stałego bufora 256B bez weryfikacji długości.
- Skutek: DoS agenta lub RCE na hostowym procesie Fluent Bit.
- Warunek: atakujący może utworzyć kontener / wpływać na jego nazwę.
3) CVE-2025-12978 – Częściowe dopasowanie Tag_Key
- Błąd: porównanie tylko pierwszego znaku klucza pola JSON skonfigurowanego w
Tag_Key(HTTP/Splunk/Elasticsearch). - Skutek: spoofing tagów, obchodzenie filtrów i przekierowanie strumieni.
4) CVE-2025-12977 – Niewłaściwa walidacja wejścia dla tagów
- Błąd: tagi tworzone z pól użytkownika omijają sanityzację (wstrzyknięcia znaków sterujących, sekwencji).
- Skutek: korupcja logów lub ataki na wyjścia downstream.
5) CVE-2025-12969 – Bypass uwierzytelniania w in_forward
- Błąd: przy konfiguracji tylko
Security.Usersuwierzytelnianie nie jest egzekwowane; dopieroShared_Key+/-Security.Usersdziała poprawnie. - Skutek: nieautoryzowana injekcja logów, flood alertów, zatruwanie telemetrii.
Wersje z poprawkami
Wydania 4.1.1 i 4.0.12 zawierają m.in. poprawki: „sanitize incoming Tag to prevent path traversal”, „fix tag_key lookup”, „Fix user authentication…”, „add helper for container name parsing”.
Praktyczne konsekwencje / ryzyko
- Ukrywanie śladów: nadpisywanie/usuwanie artefaktów w logach oraz przekierowanie do „bezpiecznych” destination.
- Eskalacja węzłowa: RCE w kontekście agenta → pivot do hosta/pods.
- Ataki na procesy bezpieczeństwa: zalew fałszywych zdarzeń, zatruwanie źródeł danych SIEM/UEBA.
- Wpływ na SLO/observability: DoS na agencie → utrata widoczności/monitoringu w krytycznych usługach.
Rekomendacje operacyjne / co zrobić teraz
1) Aktualizacje (priorytet krytyczny)
- Produkcja: natychmiast 4.1.1 (gałąź 4.1) lub 4.0.12 (gałąź 4.0).
- Dla obrazów AWS
aws-for-fluent-bit: użyj wersji wskazanej przez AWS po migracji do 4.1.1.
2) Twarde zabezpieczenie konfiguracji
out_file: zawsze ustawiajFile(konkretna nazwa), nie opieraj nazwy pliku na tagu; rozważ separację katalogów i brak uprawnień do wykonywania.- Wejścia HTTP/Splunk/Elasticsearch: ogranicz
Tag_Keylub wyłącz dynamiczne tagowanie od klienta; filtruj dopuszczalne wartości (regex allow-list). in_forward: wymuśShared_Keyoraz – jeśli potrzebne – dopieroSecurity.Usersdodatkowo; nigdySecurity.Userssolo.in_docker: polityka nazw kontenerów (np. długość < 128, zestaw znaków), walidacja po stronie orkiestratora/CI.
3) Redukcja powierzchni ataku
- Ogranicz dostęp sieciowy do portów wejściowych Fluent Bit (np. HTTP/forward/Splunk/Elasticsearch) do zaufanych CIDR/ServiceAccount/Namespace; w K8s egzekwuj NetworkPolicy.
- Uruchamiaj agenta z least privilege (read-only FS, no-new-privileges, seccomp, ograniczone capabilities).
- Oddziel dane/konfigurację w wolumenach nie-wykonywalnych.
4) Monitoring i detekcja (pod rękę dla SOC)
- Szukaj tagów z
../, znakami sterującymi, nowymi liniami, lub podejrzanie długich nazw kontenerów. - Alertuj na nieoczekiwane tworzenie plików przez proces Fluent Bit poza ścieżką docelową (FIM/eBPF).
- Telemetria: wzrost błędów routingu/tagowania, skoki
5xxw wejściu HTTP, nagłe przełączenia destination. - Logika korelacyjna: burst zdarzeń z
in_forwardbez poprawnegoShared_Key. (zob. opisy błędów i fixów)
5) Hardening łańcucha dostaw
- „Pin” obrazy Fluent Bit do konkretnych tagów (4.1.1/4.0.12+) i digestów; skanuj SBOM; egzekwuj PodSecurityStandards.
Różnice / porównania z innymi przypadkami
- vs. CVE-2024-4323 (Linguistic Lumberjack): tam rdzeniem był błąd parsera HTTP i pamięci w serwerze wbudowanym; obecny zestaw uderza w logikę tagów/IO oraz autoryzację i może zostać złączony w łańcuch prowadzący do trwałej manipulacji pipeline’em (m.in. przez
out_file).
Podsumowanie / kluczowe wnioski
- Pięć nowych CVE we Fluent Bit umożliwia RCE, DoS, spoofing tagów i bypass auth – realne ryzyko przejęcia i ukrycia działań atakującego.
- Patch now: 4.1.1 / 4.0.12 + twarde zasady konfiguracji (
Filewout_file,Shared_Keywin_forward, ograniczenieTag_Key). - Zaimplementuj monitoring anomalii tagów/plików i politykę nazw kontenerów.
- Potraktuj agenta logów jako komponent wysokiego ryzyka, nie „neutralną rurę”.
Źródła / bibliografia
- SecurityWeek – omówienie 5 CVE, wersje naprawcze i wpływ na chmurę. (SecurityWeek)
- Oligo Security – raport techniczny z PoV, wektory ataku i porady. (Oligo Security)
- GitHub (Fluent Bit v4.1.1) – changelog zawierający poprawki: sanitacja tagów, fix
tag_key, auth win_forward, zmiany dla Docker. (GitHub) - Fluent Bit – Release Notes v4.0.12 (gałąź 4.0.x z backportami poprawek). (fluentbit.io)
- The Hacker News – dodatkowy kontekst i wpływ (RCE, DoS, manipulacja tagami). (The Hacker News)
