Qu'est-ce que Débordement de tampon (buffer overflow) ?
Fait d'écrire dans une zone comme un tableau (un tampon) plus de données qu'elle ne peut en contenir, en corrompant la mémoire voisine. En C, il se produit facilement avec des fonctions qui ne connaissent pas la taille de la destination, comme strcpy et gets, ou avec des boucles qui utilisent des indices sans vérifier les bornes, et c'est un comportement indéfini. Lorsqu'un tampon sur la pile déborde, des variables locales et l'adresse de retour de la fonction peuvent être écrasées, ce qui peut être exploité par des attaques qui font exécuter du code arbitraire au moyen d'entrées forgées. On l'évite avec des fonctions qui prennent une taille et avec des vérifications de bornes.
Nom japonais: バッファオーバーフロー
« Débordement de tampon (buffer overflow) » apparaît dans 3 questions d'entraînement réparties sur 2 thèmes, dont Éditeurs de liens, chargeurs et exécutables, Bases de la programmation en C.
Domaine: Bases de la programmation en C