le simple fait de faire crasher un service peu déjà être une exploitation grave de la faille.
Oui, mais à ce niveau tu as ce même problème qu'avec un langage ayant des vérifications à l'exécution pour l'accès à un élément de tableau, par exemple rust. Après, ça a peut-être plus de chance d'être détecté par chance dans les tests. Et les itérateurs etc. réduisent un peu le nombre de ces cas pour les boucles simples. Ceci dit, on pourrait imaginer (à tort peut-être) qu'on se plante plus facilement dans les cas justement un peu moins évidents où on a besoin, quel que soit le langage, d'écrire l'index à la main et, donc, de risquer un crash.
Je mets de côté le cas où on dispose d'une preuve formelle mécanique que l'accès est valide, ce qui reste encore laborieux et peu accessible, limité à des langages plutôt académiques ou de niche.
[^] # Re: Performances vs. Sécurité
Posté par anaseto . En réponse au journal Le glissement du C++ (et dans une moindre mesure du C) vers une position indésirable. Évalué à 2. Dernière modification le 28 octobre 2019 à 12:08.
Oui, mais à ce niveau tu as ce même problème qu'avec un langage ayant des vérifications à l'exécution pour l'accès à un élément de tableau, par exemple rust. Après, ça a peut-être plus de chance d'être détecté par chance dans les tests. Et les itérateurs etc. réduisent un peu le nombre de ces cas pour les boucles simples. Ceci dit, on pourrait imaginer (à tort peut-être) qu'on se plante plus facilement dans les cas justement un peu moins évidents où on a besoin, quel que soit le langage, d'écrire l'index à la main et, donc, de risquer un crash.
Je mets de côté le cas où on dispose d'une preuve formelle mécanique que l'accès est valide, ce qui reste encore laborieux et peu accessible, limité à des langages plutôt académiques ou de niche.