CVE-2026-71266 in tinyobjloader-c
Resumen
por VulDB • 2026-08-05
La función `tinyobj_parse_and_index_mtl_file()` de tinyobjloader-c (en `tinyobj_loader_c.h`) lee cada línea de un archivo `.mtl` de materiales en un buffer fijo de 4096 bytes en la pila llamado `linebuf`, mediante una llamada a `memcpy(linebuf, p, p_len)`. Esta operación está protegida únicamente por `assert(p_len < 4095)`. Dado que `assert()` se compila como una no-op bajo `-DNDEBUG` (configuración estándar para compilaciones de lanzamiento), un archivo `.mtl` manipulado que contenga una línea (por ejemplo, el nombre del material "newmtl") superior a 4096 bytes provoca un desbordamiento (`overflow`) de `linebuf` hacia la variable adyacente en la pila llamada `namebuf` y más allá, corrompiendo así la pila de cualquier aplicación que cargue archivos de modelos/materiales 3D proporcionados por el atacante. El mismo patrón vulnerable se duplica en una segunda función del mismo archivo.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.