# Zranitelnost CVE-2026-4247 ve FreeBSD: únik mbuf při zpracování TCP Challenge ACK
Tým FreeBSD 26. března 2026 zveřejnil detaily CVE-2026-4247 — zranitelnosti, která umožňuje vzdálený DoS prostřednictvím úniku mbuf v TCP spojích. Problém se týká zpracování neočekávaných TCP segmentů v navázaných spojích.
Protokol TCP při přijetí neočekávaných paketů generuje Challenge ACK k ověření legitimity. Rychlost generování je omezena parametry sysctl: net.inet.tcp.ack_war_timewindow (výchozí 1000 ms) a net.inet.tcp.ack_war_cnt (5). V tomto intervalu se zpracují pouze prvních 5 paketů, zbytek se ignoruje.
Funkce tcp_respond() v tcp_subr.c vytváří Challenge ACK a spotřebovává mbuf. Pokud ACK není potřeba, mbuf se uvolní. Útočník, který falšuje pakety, způsobí ztrátu mbuf pro pakety nad limit — jeden na každý paket.
Zranitelné jsou všechny TCP stacky FreeBSD: základní, RACK, BBR. Základní stack odesílá více ACK, což zesiluje efekt.
Vektory útoku a podmínky využití
Útok je možný při:
- Pozici na cestě TCP spojení (MITM).
- Navázání vlastního spojení s cílem.
Externí útočníci uhodí IP, porty a seq-čísla pro spoofing. Efektivita je nízká kvůli složitosti.
Každý spoofovaný paket nad limit (5/s) vede k úniku mbuf, vyčerpává pool a způsobuje DoS.
Dočasná ochranná opatření
Vypněte limit rychlosti ACK:
sysctl net.inet.tcp.ack_war_timewindow=0
Přidejte do /etc/sysctl.conf pro trvalost.
Toto eliminuje únik, ale zvyšuje zátěž na CPU kvůli zpracování všech paketů.
Trvalá oprava a větve
Aktualizujte na větve s patchemi (commity a revize):
- 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)
Graf vydání FreeBSD
FreeBSD 15.0 vyšla 2. prosince 2025. Podpora větví zkrácena na 4 roky, nové větve každé 2 roky. Meziprodukty každých 6 měsíců ve větvi, celý cyklus 3 měsíce při paralelním vývoji dvou větví.
FreeBSD 14.4 — 10. března 2026. Větev 14.x je poslední pro 32bitové platformy. FreeBSD 15+ — pouze 64bit s COMPAT_FREEBSD32 pro legacy aplikace.
Co je důležité
- Zranitelnost lze využít vzdáleně spoofingem TCP paketů, vede k vyčerpání mbuf.
- Týká se všech TCP stacků FreeBSD; výchozí limit ACK zesiluje únik.
- Dočasné řešení: sysctl net.inet.tcp.ack_war_timewindow=0 (kompenzace CPU).
- Patchy ve stable/15, releng/15.0, stable/14 a releng/14.x.
- FreeBSD 14.x — konec podpory 32bit; migrovat na 64bit.
— Editorial Team
Zatím žádné komentáře.