Mis à jour
Les vecteurs d'attaques principaux pour ce type de vulnérabilité sont:
Des erreurs de vérification de borne:
Utilisation de <= au lieu de <
Oublie de vérification de la taille réelle du buffer
Un mauvais calcul de taille:
Confusion entre nombres d'éléments et nombre d'octets
Cacul dépassant la taille d'un entier
L'abus de confiance en des données non fiables:
Entrée utilisateur plus longue qu'attendue
Gestion incorrecte des chaînes de caractères:
Oublie de terminaison NULL (\0)
Utilisation incorrecte de fonctions de copie
mélanges entre chaînes de caractères et buffers binaires
Erreurs d'indexation:
Index négatif converti en entier non signé
Calcul d'index incorrect
décalage (offset) non vérifié
Arithmétique de pointeur
Déplacement d’un pointeur au-delà de l’objet prévu
Mauvais calcul d’un offset dans une structure
Hypothèse qu’une zone mémoire est contiguë alors qu’elle ne l’est pas
Condition de conccurence
Patterns
Mis à jour