Retour à l'accueil

CVE-2026-4247 Vulnérabilité DoS TCP FreeBSD

La vulnérabilité CVE-2026-4247 dans FreeBSD permet un DoS à distance par fuite de mbuf lors du traitement de TCP Challenge ACK. Vecteurs décrits, correctif sysctl temporaire et correctifs pour les branches 14/15. Compte tenu des changements dans les versions, la mise à jour vers les versions 64 bits est recommandée.

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

Vulnérabilité CVE-2026-4247 dans FreeBSD : fuite de mbuf lors du traitement des Challenge ACK TCP

L'équipe FreeBSD a publié les détails de CVE-2026-4247 le 26 mars 2026 — une vulnérabilité qui permet des attaques DoS à distance par fuites de mbuf dans les connexions TCP. Le problème affecte le traitement des segments TCP inattendus dans les connexions établies.

Le protocole TCP génère des Challenge ACK lorsqu'il reçoit des paquets inattendus afin de vérifier leur légitimité. Le taux de génération est limité par les paramètres sysctl : net.inet.tcp.ack_war_timewindow (par défaut 1000 ms) et net.inet.tcp.ack_war_cnt (5). Dans cet intervalle, seuls les 5 premiers paquets sont traités ; les autres sont ignorés.

La fonction tcp_respond() dans tcp_subr.c forme le Challenge ACK et consomme un mbuf. Si l'ACK n'est pas nécessaire, le mbuf est libéré. Un attaquant usurpant des paquets déclenche une perte de mbuf pour les paquets au-delà de la limite — un par paquet.

Google AdInline article slot

Tous les stacks TCP de FreeBSD sont vulnérables : le stack de base, RACK, BBR. Le stack de base envoie plus d'ACK, amplifiant l'effet.

Vecteurs d'attaque et conditions d'exploitation

L'attaque est possible dans ces conditions :

  • Se positionner sur le chemin d'une connexion TCP (MITM).
  • Établir sa propre connexion vers la cible.

Les attaquants externes doivent deviner les adresses IP, ports et numéros de séquence pour l'usurpation. Le taux de succès est faible en raison de la complexité.

Google AdInline article slot

Chaque paquet usurpé au-delà de la limite (5/s) provoque une fuite de mbuf, épuisant le pool et déclenchant un DoS.

Mesures de protection temporaires

Désactiver la limite de taux des ACK :

sysctl net.inet.tcp.ack_war_timewindow=0

L'ajouter à /etc/sysctl.conf pour la persistance.

Google AdInline article slot

Cela élimine la fuite mais augmente la charge CPU due au traitement de tous les paquets.

Correctif permanent et branches

Mettre à jour vers les branches avec les correctifs (commits et révisions) :

  • 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)

Calendrier des sorties FreeBSD

FreeBSD 15.0 a été publié le 2 décembre 2025. Le support des branches raccourci à 4 ans, avec de nouvelles branches tous les 2 ans. Sorties intermédiaires tous les 6 mois par branche, cycle global — 3 mois avec développement parallèle de deux branches.

FreeBSD 14.4 — 10 mars 2026. La branche 14.x est la dernière pour les plateformes 32 bits. FreeBSD 15+ est 64 bits uniquement, avec COMPAT_FREEBSD32 pour les applications legacy.

Points clés

  • Vulnérabilité exploitable à distance via usurpation de paquets TCP, menant à l'épuisement des mbuf.
  • Affecte tous les stacks TCP de FreeBSD ; la limite ACK par défaut amplifie la fuite.
  • Correctif temporaire : sysctl net.inet.tcp.ack_war_timewindow=0 (en échange d'une utilisation CPU accrue).
  • Correctifs dans stable/15, releng/15.0, stable/14 et releng/14.x.
  • FreeBSD 14.x marque la fin du support 32 bits ; migrer vers 64 bits.

— Editorial Team

Advertisement 728x90

Lire ensuite