Il y a 19 ans, Ulrich Drepper, alors développeur chez Red Hat et un des contributeurs principaux de la glibc, ajoutait au changelog de la glibc la ligne suivante : sysdeps/i386/bsd-_setjmp.S: Use PTR_MANGLE for PC if defined, inaugurant ainsi l’arrivée de la protection des pointeurs de fonction stockés dans des structures internes à la glibc.
La fonction atexit de la libc a la signature suivante :
En interne, elle maintient une liste chaînée de structures allouées sur le tas et contenant, entre autres, une référence vers les différentes function passées en paramètre. C’est un vecteur d’attaque possible pour un attaquant ayant la possibilité d’écrire dans le...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première