L'équipe Vigil@nce veille les vulnérabilités publiques qui affectent votre parc informatique, puis propose des correctifs sécurité, une base et des outils pour y remédier.

Vulnérabilités informatiques de Protocole TCP

alerte de vulnérabilité 13271

TCP : Blind Spoofing facilité par les SYN Cookies

Synthèse de la vulnérabilité

Lorsque les SYN Cookies sont activés, un attaquant peut optimiser une attaque d'usurpation de session TCP par brute force, qui est 32 fois plus rapide.
Produits concernés : TCP.
Gravité : 1/4.
Date création : 13/08/2013.
Références : VIGILANCE-VUL-13271.

Description de la vulnérabilité

Une attaque TCP en aveugle consiste à deviner le numéro de séquence initial (ISN) du serveur TCP, afin d'établir une session. Il y a 2^32 valeurs possibles.

La fonctionnalité SYN Cookie protège le système contre les Synflood. Pour cela, le serveur TCP ne mémorise pas les données du client, et les encode dans l'ISN qu'il lui envoie. Le client retourne alors cet ISN (incrémenté), et le serveur le valide.

Le serveur accepte 4 valeurs pour le compteur (incrémenté toutes les minutes) et 8 valeurs pour le MSS (Maximum Segment Size). Il y a donc 32 (4*8) ISN valides que le serveur est prêt à accepter. Une attaque en aveugle ne nécessite donc pas 2^32 essais, mais 2^27 essais en moyenne.

Lorsque les SYN Cookies sont activés, un attaquant peut donc optimiser une attaque d'usurpation de session TCP par brute force, qui est 32 fois plus rapide.
Bulletin Vigil@nce complet.... (essai gratuit)

alerte de vulnérabilité informatique 11656

TCP : injection de paquets via un firewall et un malware

Synthèse de la vulnérabilité

Lorsqu'un attaquant a installé un malware non privilégié sur un poste client, et qu'un firewall se situe entre ce client et un serveur TCP, un attaquant situé à l'extérieur du réseau peut deviner des numéros de séquence valides, afin d'injecter des données dans cette session TCP.
Produits concernés : CheckPoint Power-1 Appliance, CheckPoint Security Gateway, CheckPoint Smart-1, CheckPoint UTM-1 Appliance, VPN-1, CheckPoint VSX-1, TCP.
Gravité : 1/4.
Date création : 28/05/2012.
Références : FGA-2012-19, sk74640, VIGILANCE-VUL-11656.

Description de la vulnérabilité

Lorsqu'un malware privilégié est installé sur le poste de la victime, il peut interférer avec ses connexions TCP. Cependant, si le malware n'est pas privilégié, il ne peut pas le faire.

Les numéros de séquence et d'acquittement TCP permettent d'ordonner les données. Un attaquant doit deviner ces numéros (ainsi que les adresses IP et les ports, mais que l'on suppose connus par le malware via netstat) afin d'injecter des paquets illicites dans une session TCP en cours.

Les firewalls bloquent généralement les paquets TCP ayant un numéro de séquence hors de la fenêtre attendue. Cependant, lorsque cette fonctionnalité est activée, un attaquant distant peut envoyer une salve de paquets :
 - si l'un des paquets a traversé la fenêtre du firewall, le malware (qui observe par exemple les compteurs de paquets, qui sont peu fiables en environnement bruité) l'indique à l'attaquant externe
 - si aucun paquet n'a traversé, le malware indique à l'attaquant d'envoyer une autre salve
Ainsi, après plusieurs itérations, l'attaquant externe devine quelles sont les numéros de séquence actuellement valides.

Lorsqu'un attaquant a installé un malware non privilégié sur un poste client, et qu'un firewall se situe entre ce client et un serveur TCP, un attaquant situé à l'extérieur du réseau peut donc deviner des numéros de séquence valides, afin d'injecter des données dans cette session TCP. Cette vulnérabilité fonctionne aussi en inversant le client et le serveur.
Bulletin Vigil@nce complet.... (essai gratuit)

vulnérabilité 10590

TCP, Firewalls : TCP Split Handshake

Synthèse de la vulnérabilité

Un attaquant disposant d'un serveur illicite peut employer une séquence d'initialisation TCP spéciale, afin de forcer le firewall à ouvrir une session TCP vers le client.
Produits concernés : ASA, IOS Cisco, Cisco Router xx00 Series, FortiGate, FortiOS, NetScreen Firewall, ScreenOS, TCP.
Gravité : 1/4.
Date création : 21/04/2011.
Références : CSCth67416, CSCtn29288, CSCtn29349, KB20877, PSN-2011-04-229, VIGILANCE-VUL-10590.

Description de la vulnérabilité

Une séquence d'initialisation de session TCP commence par :
 - le client envoie un paquet avec le drapeau SYN
 - le serveur répond un SYN-ACK
 - le client répond un ACK

La RFC 793 l'exprime en 4 étapes (page 27, "simultaneous-open handshake") :
 - le client envoie un paquet avec le drapeau SYN
 - le serveur répond un ACK (peut être ignoré par le client)
 - le serveur envoie un SYN
 - le client répond un ACK

Linux, Windows et MacOS implémentent incorrectement le "simultaneous-open handshake" :
 - le client Linux/Windows/MacOS envoie un paquet avec le drapeau SYN
 - le serveur répond un ACK (peut être ignoré par le client)
 - le serveur envoie un SYN
 - le client Linux/Windows/MacOS répond un SYN-ACK (au lieu d'un ACK simple)
Lorsque le serveur répond un ACK, un firewall sur le chemin vient de voir passer un SYN, puis un SYN-ACK, puis un ACK. Certains firewalls interprètent ces trois échanges comme une connexion du serveur vers le client.

Un attaquant disposant d'un serveur illicite peut donc employer une séquence d'initialisation TCP spéciale, afin de forcer le firewall à ouvrir une session TCP vers le client. On peut noter que l'état interne du firewall est incorrect, mais que cette session TCP a été initialisée par le client.
Bulletin Vigil@nce complet.... (essai gratuit)

avis de vulnérabilité informatique CVE-2008-4609

TCP : déni de service Sockstress

Synthèse de la vulnérabilité

Un attaquant peut employer des fenêtres TCP de petite taille afin de surcharger un serveur TCP.
Produits concernés : ProxyAV, ProxyRA, ProxySG, VPN-1, ASA, Cisco Catalyst, IOS Cisco, Cisco Router xx00 Series, BIG-IP Appliance, Linux, Windows 2000, Windows 2003, Windows 2008 R0, Windows (plateforme), Windows Vista, Windows XP, NLD, OES, OpenSolaris, openSUSE, Solaris, Trusted Solaris, TCP, StoneGate Firewall, StoneGate IPS, SLES, Unix (plateforme).
Gravité : 2/4.
Date création : 01/10/2008.
Dates révisions : 20/10/2008, 09/09/2009.
Références : 109444, 110132, 267088, 6759500, 967723, BID-31545, c01923093, CERTA-2009-ALE-017-003, cisco-sa-20090908-tcp24, cisco-sr-20081017-tcp, cpujul2012, CVE-2008-4609, FICORA #193744, HPSBMI02473, MS09-048, SA34, SA35, SA36, SA37, SA38, SA40, SA41, sk42723, sk42725, SOL10509, SOL7301, SOL9293, SSRT080138, SUSE-SA:2009:047, VIGILANCE-VUL-8139, VU#723308.

Description de la vulnérabilité

Le champ "window" d'un paquet TCP indique la taille de la fenêtre tolérée (et donc de l'intervalle) pour les numéros de séquence des paquets arrivant.

Selon le protocole TCP, lorsque le système ne peut plus recevoir beaucoup de données (par exemple si ses buffers sont presque pleins), il diminue la valeur du champ "window". L'hôte distant envoie alors progressivement ses données.

Un attaquant peut donc se connecter sur un service TCP en écoute, et ainsi artificiellement prolonger la durée de la session, afin de surcharger l'hôte distant.

L'attaquant peut combiner cette vulnérabilité avec un "reverse syn cookies" et l'option TCP Timestamp afin de ne pas avoir à garder d'état sur sa machine.

Un attaquant peut ainsi employer peu de ressources sur sa machine, et forcer l'utilisation de nombreuses ressources sur la cible. L'impact de ce déni de service temporaire dépend du système cible, et est comparable à un attaquant ouvrant réellement de nombreuses sessions TCP (à la différence que cela consomme peu de ressources sur sa machine). L'attaquant ne peut pas usurper (spoofer) son adresse IP pour mener cette attaque.

Il y a plusieurs variantes d'attaques, liées à la taille de la fenêtre ou à la réouverture temporaire de la fenêtre. La vulnérabilité VIGILANCE-VUL-8844 peut être considérée comme une variante.

Lorsque l'attaquant cesse d'envoyer des paquets, le déni de service cesse. Cependant, certaines erreurs d'implémentations additionnelles (comme la vulnérabilité Microsoft CVE-2009-1926 de VIGILANCE-VUL-9008, ou les vulnérabilités de Cisco Nexus 5000 décrites dans la solution pour Cisco) font que le déni de service reste permanent.
Bulletin Vigil@nce complet.... (essai gratuit)

avis de vulnérabilité 8844

TCP : déni de service Nkiller2

Synthèse de la vulnérabilité

Un attaquant peut employer des fenêtres TCP de taille nulle afin de surcharger un serveur TCP.
Produits concernés : ProxyAV, ProxyRA, ProxySG, VPN-1, ASA, Cisco Catalyst, IOS Cisco, Cisco Router xx00 Series, BIG-IP Appliance, Linux, Windows 2000, Windows 2003, Windows 2008 R0, Windows Vista, Windows XP, NLD, OES, OpenSolaris, openSUSE, Solaris, Trusted Solaris, TCP, SLES.
Gravité : 2/4.
Date création : 07/07/2009.
Date révision : 09/09/2009.
Références : 109444, 110132, 267088, 6759500, 967723, CERTA-2009-ALE-017-003, cisco-sa-20090908-tcp24, cisco-sr-20081017-tcp, FICORA #193744, MS09-048, SA34, SA35, SA36, SA37, SA38, SA40, SA41, sk42723, sk42725, SOL10509, SOL7301, SOL9293, SUSE-SA:2009:047, VIGILANCE-VUL-8844.

Description de la vulnérabilité

Le champ "window" d'un paquet TCP indique la taille de la fenêtre tolérée (et donc de l'intervalle) pour les numéros de séquence des paquets arrivant.

Selon le protocole TCP, lorsque le système ne peut plus recevoir de paquets (par exemple si ses buffers sont pleins), il utilise un champ "window" valant zéro. L'hôte distant doit alors patienter avant d'envoyer de nouvelles données. Après un certain timeout, il tente de réémettre. S'il ne reçoit pas de réponse, il clôt la session. Cependant, s'il reçoit une réponse tardive, il patiente de nouveau.

Un attaquant peut donc se connecter sur un service TCP en écoute, et ainsi artificiellement prolonger la durée de la session, afin de surcharger l'hôte distant.

L'attaquant peut combiner cette vulnérabilité avec un "reverse syn cookies" et l'option TCP Timestamp afin de ne pas avoir à garder d'état sur sa machine.

Un attaquant peut ainsi employer peu de ressources sur sa machine, et forcer l'utilisation de nombreuses ressources sur la cible. L'impact de ce déni de service temporaire dépend du système cible, et est comparable à un attaquant ouvrant réellement de nombreuses sessions TCP (à la différence que cela consomme peu de ressources sur sa machine). L'attaquant ne peut pas usurper (spoofer) son adresse IP pour mener cette attaque.

L'attaque est particulièrement efficace contre un serveur web, en lui demandant de délivrer un gros document, puis en baissant la taille de la fenêtre. Le serveur web garde alors en mémoire ce document en cours de traitement.

Lorsque l'attaquant cesse d'envoyer des paquets, le déni de service cesse.

Cette vulnérabilité est similaire à VIGILANCE-VUL-8139.
Bulletin Vigil@nce complet.... (essai gratuit)

annonce de vulnérabilité CVE-2006-3920

TCP : déni de service ACK Storm

Synthèse de la vulnérabilité

Un attaquant peut injecter un paquet TCP afin de générer un ACK Storm.
Produits concernés : Solaris, Trusted Solaris, TCP.
Gravité : 1/4.
Date création : 27/07/2006.
Références : 102206, 4511681, CERTA-2006-AVI-326, CVE-2006-3920, VIGILANCE-VUL-6042.

Description de la vulnérabilité

L'entête des paquets TCP contient un numéro de séquence et un numéro d'acquittement.

Lorsque la session est établie, si une machine reçoit un paquet TCP dont le numéro d'acquittement est trop grand, elle expédie un nouveau paquet indiquant un numéro de séquence correct selon elle (RFC 793, page 72). Si une machine reçoit un paquet TCP dont le numéro de séquence est trop petit, elle expédie un nouveau paquet indiquant un numéro d'acquittement correct selon elle (RFC 793, page 69).

Ainsi, lorsque deux machines ont des numéros de séquence désynchronisés, une boucle infinie se produit. Cette erreur peut apparaître suite à un dysfonctionnement ou à une attaque par injection de paquets.

Cette vulnérabilité est ancienne. Solaris propose actuellement un correctif pour limiter le nombre d'itérations de la boucle.
Bulletin Vigil@nce complet.... (essai gratuit)

alerte de vulnérabilité informatique CVE-2006-1242

Linux, IOS : utilisation de la machine pour un idle scan

Synthèse de la vulnérabilité

Un attaquant peut utiliser la machine pour mener un idle scan sur une autre machine.
Produits concernés : IOS Cisco, Cisco Router xx00 Series, Debian, Linux, Mandriva Corporate, Mandriva Linux, Mandriva NF, openSUSE, IP, TCP, RHEL.
Gravité : 1/4.
Date création : 15/03/2006.
Date révision : 28/03/2006.
Références : BID-17109, CERTA-2002-AVI-035, CVE-2006-1242, DSA-1097-1, DSA-1103-1, MDKSA-2006:086, MDKSA-2006:116, RHSA-2006:043, RHSA-2006:0437-01, RHSA-2006:057, RHSA-2006:0575-01, SUSE-SA:2006:028, VIGILANCE-VUL-5686.

Description de la vulnérabilité

Le champ id de l'entête IP est utilisé pour réassembler les paquets fragmentés.

Le principe d'un idle scan est d'utiliser une machine intermédiaire (I) pour effectuer un scan de port sur une autre machine (C). Seules les machines intermédiaires dont le champ id est incrémenté à chaque paquet émis peuvent être employées pour mener cette attaque :
 - l'attaquant A envoie un paquet TCP SYN-ACK vers I
 - I retourne un paquet RST vers l'attaquant, ce dernier note la valeur du champ id de l'entête IP (par exemple 1234)
 - A envoie un paquet SYN avec une source usurpée valant I vers C
 - C retourne :
     + un paquet SYN-ACK vers I si le port est ouvert (I retourne alors un paquet RST vers C, dont le champ id vaut 1235)
     + un paquet RST vers I si le port est fermé (I ne retourne rien, donc le compteur id n'est pas incrémenté)
 - A effectue de nouveau les 2 premières opérations, et note la nouvelle valeur du champ id
Ainsi, le champ id vaut :
 - 1236 si le port est ouvert
 - 1235 si le port est fermé

Cette vulnérabilité a notamment été corrigée dans Linux 2.4.8, afin que le système ne puisse pas être employé comme machine intermédiaire. Cependant, une erreur de régression a ré-introduit cette vulnérabilité.
Bulletin Vigil@nce complet.... (essai gratuit)

avis de vulnérabilité informatique 5359

TCP : déni de service avec des optimistic acknowledgement

Synthèse de la vulnérabilité

Un attaquant peut émettre prématurément des paquets d'acquittement afin que la pile TCP distante augmente son débit d'émission.
Produits concernés : Juniper E-Series, Juniper J-Series, JUNOS, JUNOSe, NetScreen Firewall, ScreenOS, TCP.
Gravité : 2/4.
Date création : 14/11/2005.
Références : BID-15468, PSN-2005-12-004, VIGILANCE-VUL-5359, VU#102014.

Description de la vulnérabilité

Une pile TCP acquitte les données reçues en retournant un numéro d'acquittement correspondant à la position de la fin des données. La pile TCP distante utilise ces numéros pour calculer la bande passante et ainsi optimiser l'envoi de ses données.

Un attaquant peut acquitter des données qu'il n'a pas encore reçues. L'algorithme de la pile distante en déduit que le débit d'émission peut être augmenté.

Un attaquant peut ainsi inciter une machine distante à émettre de nombreuses données, jusqu'à éventuellement saturer sa connexion internet. Il existe plusieurs variantes d'attaque.
Bulletin Vigil@nce complet.... (essai gratuit)

alerte de vulnérabilité informatique CVE-2004-0790 CVE-2004-0791 CVE-2004-1060

TCP : déni de service à l'aide de paquets ICMP

Synthèse de la vulnérabilité

Un attaquant peut envoyer de nombreux paquets ICMP dans le but d'interrompre une session TCP.
Produits concernés : ASA, Cisco Catalyst, Cisco CSS, IOS Cisco, Cisco VPN Concentrator, WebNS, Cisco Router xx00 Series, BIG-IP Appliance, Fedora, Tru64 UNIX, HP-UX, AIX, Juniper J-Series, JUNOS, Windows 2000, Windows 2003, Windows 95, Windows 98, Windows ME, Windows XP, OpenBSD, Solaris, Trusted Solaris, TCP, Raptor Firewall, RHEL, Red Hat Linux, SEF, SGS.
Gravité : 2/4.
Date création : 16/08/2004.
Dates révisions : 26/08/2004, 19/01/2005, 12/04/2005, 13/04/2005, 21/04/2005, 25/04/2005, 26/05/2005, 02/06/2005, 20/06/2005, 28/06/2005, 08/07/2005, 11/07/2005, 19/07/2005, 02/08/2005.
Références : 101658, 2005.05.02, 5084452, 899480, 922819, BID-13124, BID-13215, BID-13367, c00571568, c00576017, CERTA-2005-AVI-023, CERTA-2005-AVI-135, CERTA-2005-AVI-155, CERTA-2006-AVI-444, CISCO20050412a, CVE-2004-0790, CVE-2004-0791, CVE-2004-1060, CVE-2005-0065, CVE-2005-0066, CVE-2005-0067, CVE-2005-0068, CVE-2005-1184, CVE-2005-1192, FLSA:157459-2, FLSA-2006:157459-1, FLSA-2006:157459-2, HP01137, HP01164, HP01210, HPSBTU01210, HPSBUX01137, HPSBUX01164, IY55949, IY55950, IY62006, IY63363, IY63364, IY63365, IY70026, IY70027, IY70028, MS05-019, MS06-064, OpenBSD 34-027, OpenBSD 35-015, PSN-2004-09-009, RHSA-2005:043, SOL15792, SOL4583, SSRT4743, SSRT4884, SSRT5954, Sun Alert 57746, V6-TCPICMPERROR, VIGILANCE-VUL-4336, VU#222750.

Description de la vulnérabilité

Le protocole ICMPv4 gère les erreurs et informations relatives aux flux IPv4.

Lorsqu'une erreur est détectée par une machine du réseau, celle-ci envoie un paquet ICMPv4 d'erreur (destination unreachable, source quench (saturation), redirect, time exceeded (ttl), parameter problem, etc.). Les données de ce paquet contiennent le début du paquet ayant provoqué l'erreur, plus précisément :
 - l'entête IP du paquet
 - au moins les 64 premiers bits (8 octets) suivant l'entête IP

Les 64 premiers bits permettent de retrouver à quel flux appartient ce paquet. Par exemple, si le paquet erroné est de type TCP, ces 64 bits contiennent :
 - le port source (2 octets)
 - le port destination (2 octets)
 - le numéro de séquence (4 octets)

Lors de la réception d'un paquet ICMP correspondant à une session TCP en cours, la pile IP interrompt la connexion et retourne une erreur à l'application de l'utilisateur.

Cependant, certaines implémentations ne vérifient pas le numéro de séquence. Ainsi, un attaquant, connaissant les adresses IP et le numéro du port du service (22, 25, etc.), doit uniquement deviner le numéro du port du client. L'attaquant a donc une chance sur 65536 (ou moins si les caractéristiques d'assignation de numéro de port sont connues) de générer un paquet ICMP qui sera accepté, et qui interrompra la session.

Les implémentations vérifiant le numéro de séquence sont vulnérables à une attaque similaire à VIGILANCE-VUL-4128. La réussite de cette attaque est alors moins probable.

Cette vulnérabilité permet donc à un attaquant d'envoyer une série de paquets ICMP dans le but de mener un déni de service. Selon le type de l'erreur ICMP (injoignable ou saturation), deux conséquences sont possibles : arrêt de la session ou ralentissement du transfert.
Bulletin Vigil@nce complet.... (essai gratuit)

bulletin de vulnérabilité informatique CVE-2004-0230

TCP : déni de service à l'aide de paquet Reset

Synthèse de la vulnérabilité

En envoyant des paquets contenant le drapeau Reset et en prédisant certaines informations, un attaquant peut interrompre des sessions TCP actives.
Produits concernés : FW-1, VPN-1, ASA, Cisco Cache Engine, Cisco Catalyst, Cisco CSS, IOS Cisco, Cisco VPN Concentrator, WebNS, Cisco Router xx00 Series, FreeBSD, Tru64 UNIX, AIX, Juniper E-Series, Juniper J-Series, JUNOS, JUNOSe, NSMXpress, Windows 2000, Windows 2003, Windows 95, Windows 98, Windows ME, Windows XP, NetBSD, NetScreen Firewall, ScreenOS, OpenBSD, TCP, Raptor Firewall, SEF, SGS.
Gravité : 3/4.
Date création : 21/04/2004.
Dates révisions : 22/04/2004, 23/04/2004, 26/04/2004, 27/04/2004, 28/04/2004, 03/05/2004, 07/05/2004, 11/05/2004, 15/07/2004, 06/12/2004, 24/12/2004, 18/02/2005, 13/04/2005, 03/05/2005, 12/05/2005, 19/07/2005.
Références : 20040403-01-A, 2005.05.02, 236929, 50960, 50961, 58784, 899480, 922819, BID-10183, CERTA-2004-AVI-138, CERTA-2004-AVI-140, CERTA-2004-AVI-143, CERTFR-2014-AVI-308, CISCO20040420a, CISCO20040420b, cisco-sa-20040420-tcp-ios, cisco-sa-20040420-tcp-nonios, CSCed27956, CSCed32349, CVE-2004-0230, FreeBSD-SA-14:19.tcp, HP01077, IY55949, IY55950, IY62006, IY63363, IY63364, IY63365, IY70026, IY70027, IY70028, JSA10638, MS05-019, MS06-064, NetBSD 2004-006, NetBSD-SA2004-006, Netscreen 58784, OpenBSD 34-019, OpenBSD 35-005, PSN-2012-08-686, PSN-2012-08-687, PSN-2012-08-688, PSN-2012-08-689, PSN-2012-08-690, SGI 20040403, V6-TCPRSTWINDOWDOS, VIGILANCE-VUL-4128, VU#415294.

Description de la vulnérabilité

L'entête TCP contient un champ window/fenêtre qui correspond à la taille du buffer de réception de la machine ayant émis le paquet. Ainsi si certains paquets arrivent dans le désordre la machine peut les stocker en attente de réception des paquets précédents.

Lorsqu'une connexion TCP est établie, elle peut se terminer de deux manières :
 - les entités s'échangent des paquets contenant le drapeau Fin actif. Dans ce cas, les numéros de séquence (et d'acquittement car le Ack est nécessaire) doivent correspondre exactement.
 - l'une des entités envoie un paquet contenant le drapeau Reset actif. Dans ce cas (drapeau Ack non actif), seul le numéro de séquence doit correspondre approximativement. En effet, il doit se situer dans la fenêtre de réception.

Ainsi, au lieu de deviner un numéro de séquence parmi 2^32 nombres, l'attaquant doit simplement envoyer 2^32/fenêtre paquets Reset. Par exemple si la taille de la fenêtre est 32k, l'attaquant doit envoyer 2^32/32k = 131072 paquets.

Il faut noter que pour mener ce déni de service utilisant un paquet TCP Reset, l'attaquant doit connaître :
 - les adresses IP source et destination
 - les ports source et destination
Certains protocoles comme BGP deviennent alors sensibles car ces informations peuvent être obtenues.

Un attaquant peut ainsi envoyer un paquet TCP contenant le drapeau Reset pour interrompre une session TCP active.

On peut noter que des paquets SYN peuvent aussi être utilisés, mais cette variante est moins efficace à cause des limitations généralement mises en place pour protéger contre les attaques synflood.
Bulletin Vigil@nce complet.... (essai gratuit)
Notre base de données contient d'autres bulletins. Vous pouvez utiliser un essai gratuit pour les consulter.

Consulter les informations sur Protocole TCP :