
Preuve de concept pour CVE-2026-29628, un débordement de tampon basé sur la pile dans l'analyseur expérimental de tinyobjloader, avec reproduction ASan/UBSan et référence de correctif.
Dépassement de tampon basé sur la pile dans https://github.com/tinyobjloader/tinyobjloader, il n'affecte que la version expérimentale, ce qui peut conduire à des résultats inattendus.
tinyobjloader est concerné dans toutes les versions jusqu'au commit d56555b.
Un correctif a été proposé dans :
386b73bb8c1a855236beb73b11f45f7feac4e03aDépôt :
Le problème est reproductible sous AddressSanitizer comme un dépassement de tampon de pile dans tinyobj_opt::LoadMtl, où un newmtl token surdimensionné est écrit dans le tampon local à taille fixe namebuf.
Compilez la preuve de concept avec AddressSanitizer et UndefinedBehaviorSanitizer activés :
clang++ -std=c++17 -O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer \
-I./tinyobjloader \
-I./tinyobjloader/experimental \
poc.cpp -o poc