Vigil@nce : OpenBSD, déni de service de bgpd
février 2009 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut envoyer un message BGP avec un chemin d’AS trop
long, afin de stopper le démon bgpd.
Gravité : 2/4
Conséquences : déni de service du service
Provenance : client internet
Moyen d’attaque : 1 attaque
Compétence de l’attaquant : technicien (2/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 19/02/2009
PRODUITS CONCERNÉS
– OpenBSD
DESCRIPTION DE LA VULNÉRABILITÉ
Le protocole BGP permet de maintenir des routes sur un grand
réseau IP. Chaque réseau de fournisseur dispose d’un numéro de
système autonome (ASN, Autonomous System Number), et BGP permet
d’établir les chemins qui peuvent être empruntés pour atteindre un
autre AS. Par exemple, pour joindre l’AS 5 :
– chemin a : AS 1, AS 2, AS 3, AS 5
– chemin b : AS 1, AS 4, AS 5 (plus court donc préférable)
L’attribut as_path d’un paquet BGP indique la liste des ASN déjà
traversés.
Lorsque le démon bgpd d’OpenBSD reçoit un paquet, il doit donc
compléter l’attribut as_path. Pour cela, la fonction
aspath_prepend() du fichier usr.sbin/bgpd/rde_attr.c calcule la
taille nécessaire. Cependant, lorsque le nombre d’ASN dans un
chemin dépasse 255, la taille est tronquée, ce qui provoque une
erreur et stoppe le démon.
Un attaquant peut donc envoyer un message BGP avec un chemin d’AS
trop long, afin de stopper le démon bgpd.
CARACTÉRISTIQUES
Références : BID-33828, VIGILANCE-VUL-8483
http://vigilance.fr/vulnerabilite/OpenBSD-deni-de-service-de-bgpd-8483