libelf 0.8.12 Dépassement de t... Note

libelf 0.8.12 Dépassement de tampon basé sur la pile dans gmo2msg (libelf) via sprintf non borné de l'argument lang

Publié par Ron E le 22 septembre. gmo2msg dans libelf contient un dépassement de tampon basé sur la pile dans po/gmo2msg.c lors de la construction de noms de fichiers à partir du premier argument du programme (lang). Le programme utilise un tampon local de taille fixe (char buf[1024]) et y écrit en utilisant sprintf(buf, "%s.gmo", lang) et sprintf(buf, "%s.msg", lang) sans valider la longueur de lang. La fourniture d'un argument lang suffisamment long (par exemple, ~1200 octets) provoque l'écriture de sprintf au-delà de la fin de...