
Prova de conceito para CVE-2026-29628, um estouro de buffer baseado em pilha no parser experimental do tinyobjloader, com reprodução via ASan/UBSan e referência de correção.
Estouro de buffer baseado em pilha em https://github.com/tinyobjloader/tinyobjloader, afeta apenas a versão experimental, o que pode levar a resultados inesperados.
tinyobjloader é afetado em todas as versões até o commit d56555b.
Uma correção foi proposta em:
386b73bb8c1a855236beb73b11f45f7feac4e03aRepositório:
O problema é reproduzível sob AddressSanitizer como um stack-buffer-overflow em tinyobj_opt::LoadMtl, onde um newmtl token superdimensionado é gravado no buffer local de tamanho fixo namebuf.
Compile a prova de conceito com AddressSanitizer e UndefinedBehaviorSanitizer habilitados:
clang++ -std=c++17 -O1 -g -fsanitize=address,undefined -fno-omit-frame-pointer \
-I./tinyobjloader \
-I./tinyobjloader/experimental \
poc.cpp -o poc