Powrót do strony głównej

Podatność CVE-2026-4247 FreeBSD TCP DoS

Podatność CVE-2026-4247 w FreeBSD umożliwia zdalny DoS poprzez wyciek mbuf podczas przetwarzania TCP Challenge ACK. Opisano wektory, tymczasowa poprawka sysctl i patche dla gałęzi 14/15. Biorąc pod uwagę zmiany w wydaniach, zaleca się aktualizację do wersji 64-bitowych.

FreeBSD: DoS poprzez TCP Challenge ACK (CVE-2026-4247)
Advertisement 728x90

# Luka CVE-2026-4247 w FreeBSD: wyciek mbuf podczas przetwarzania TCP Challenge ACK

Zespół FreeBSD 26 marca 2026 roku opublikował szczegóły CVE-2026-4247 — luki umożliwiającej zdalny DoS poprzez wyciek mbuf w połączeniach TCP. Problem dotyczy przetwarzania nieoczekiwanych segmentów TCP w ustanowionych połączeniach.

Protokół TCP po otrzymaniu nieoczekiwanych pakietów generuje Challenge ACK w celu sprawdzenia legalności. Szybkość generowania jest ograniczona parametrami sysctl: net.inet.tcp.ack_war_timewindow (domyślnie 1000 ms) i net.inet.tcp.ack_war_cnt (5). W tym interwale przetwarzane są tylko pierwsze 5 pakietów, pozostałe są ignorowane.

Funkcja tcp_respond() w tcp_subr.c tworzy Challenge ACK i zużywa mbuf. Jeśli ACK nie jest potrzebny, mbuf jest zwalniany. Atakujący podszywający się pod pakiety powoduje utratę mbuf dla pakietów przekraczających limit — po jednym na pakiet.

Google AdInline article slot

Luka dotyczy wszystkich stosów TCP w FreeBSD: podstawowego, RACK, BBR. Podstawowy stos wysyła więcej ACK, co wzmacnia efekt.

Wektory ataku i warunki wykorzystania

Atak jest możliwy w przypadku:

  • Pozycjonowania się na drodze połączenia TCP (MITM).
  • Ustanowienia własnego połączenia z celem.

Zewnętrzni atakujący zgadują adresy IP, porty i numery seq do spoofingu. Skuteczność jest niska ze względu na złożoność.

Google AdInline article slot

Każdy spoofowany pakiet przekraczający limit (5/s) powoduje wyciek mbuf, wyczerpując pulę i prowadząc do DoS.

Tymczasowe środki ochrony

Wyłącz limit szybkości ACK:

sysctl net.inet.tcp.ack_war_timewindow=0

Dodaj do /etc/sysctl.conf dla trwałości.

Google AdInline article slot

To eliminuje wyciek, ale zwiększa obciążenie CPU poprzez przetwarzanie wszystkich pakietów.

Stała poprawka i gałęzie

Zaktualizuj do gałęzi z poprawkami (commity i rewizje):

  • stable/15/ 1fddb5435315 (stable/15-n282699)
  • releng/15.0/ de9e5d82581e (releng/15.0-n281011)
  • stable/14/ b45e7530ffb9 (stable/14-n273839)
  • releng/14.4/ 44dd8b58394b (releng/14.4-n273676)
  • releng/14.3/ a9cba5321021 (releng/14.3-n271476)

Harmonogram wydań FreeBSD

FreeBSD 15.0 ukazało się 2 grudnia 2025. Skrócenie wsparcia gałęzi do 4 lat, nowe gałęzie co 2 lata. Wydania pośrednie co 6 miesięcy w gałęzi, ogólny cykl — 3 miesiące przy równoległej pracy nad dwiema gałęziami.

FreeBSD 14.4 — 10 marca 2026. Gałąź 14.x to ostatnia dla platform 32-bitowych. FreeBSD 15+ — tylko 64-bitowe z COMPAT_FREEBSD32 dla aplikacji legacy.

Co ważne

  • Luka jest wykorzystywana zdalnie poprzez spoofing pakietów TCP, prowadzi do wyczerpania mbuf.
  • Dotyczy wszystkich stosów TCP w FreeBSD; domyślny limit ACK wzmacnia wyciek.
  • Tymczasowe rozwiązanie: sysctl net.inet.tcp.ack_war_timewindow=0 (kompensacja obciążeniem CPU).
  • Poprawki w stable/15, releng/15.0, stable/14 i releng/14.x.
  • FreeBSD 14.x — koniec wsparcia 32-bit; przejdź na 64-bit.

— Editorial Team

Advertisement 728x90

Czytaj dalej