libelf 0.8.12 Stack-basierter ... Notiz

libelf 0.8.12 Stack-basierter Pufferüberlauf in gmo2msg (libelf) über unbegrenztes sprintf des lang-Arguments

Gepostet von Ron E am 22. September gmo2msg in libelf enthält einen Stack-basierten Pufferüberlauf in po/gmo2msg.c beim Erstellen von Dateinamen aus dem ersten Programmargument (lang). Das Programm verwendet einen lokalen Puffer fester Größe (char buf[1024]) und schreibt mit sprintf(buf, "%s.gmo", lang) und sprintf(buf, "%s.msg", lang) hinein, ohne die Länge von lang zu überprüfen. Die Angabe eines ausreichend langen lang-Arguments (z. B. ca. 1200 Bytes) führt dazu, dass sprintf über das Ende von... hinaus schreibt.