CVE-2026-71266

tinyobjloader-c's tinyobj_parse_and_index_mtl_file (tinyobj_loader_c.h) reads each line of a .mtl material file into a fixed 4096-byte stack buffer via memcpy(linebuf, p, p_len), guarded only by . The identical vulnerable pattern is duplicated in a second function in the same file.
Configurations

No configuration.

History

24 Oct 2026, 15:10

Type Values Removed Values Added
Summary (es) La función tinyobj_parse_and_index_mtl_file() (tinyobj_loader_c.h) de tinyobjloader-c lee cada línea de un archivo de material .mtl en un búfer de pila fijo de 4096 bytes ’linebuf’ a través de memcpy(linebuf, p, p_len), protegida únicamente por ’assert(p_len < 4095)’. Debido a que assert() se compila como una operación nula (no-op) bajo -DNDEBUG (estándar para compilaciones de lanzamiento), un archivo .mtl manipulado que contiene una línea (por ejemplo, un nombre de material ’newmtl’) más larga de 4096 bytes desborda ’linebuf’ hacia la variable de pila adyacente ’namebuf’ y más allá, corrompiendo la pila de cualquier aplicación que carga archivos de modelo/material 3D suministrados por el atacante. El patrón vulnerable idéntico se duplica en una segunda función en el mismo archivo. (es) La función tinyobj_parse_and_index_mtl_file() (tinyobj_loader_c.h) de tinyobjloader-c lee cada línea de un archivo de material .mtl en un búfer de pila fijo de 4096 bytes ’linebuf’ a través de memcpy(linebuf, p, p_len), protegida únicamente por ’assert(p_len menor que 4095)’. Debido a que assert() se compila como una operación nula (no-op) bajo -DNDEBUG (estándar para compilaciones de lanzamiento), un archivo .mtl manipulado que contiene una línea (por ejemplo, un nombre de material ’newmtl’) más larga de 4096 bytes desborda ’linebuf’ hacia la variable de pila adyacente ’namebuf’ y más allá, corrompiendo la pila de cualquier aplicación que carga archivos de modelo/material 3D suministrados por el atacante. El patrón vulnerable idéntico se duplica en una segunda función en el mismo archivo.

23 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) La función tinyobj_parse_and_index_mtl_file() (tinyobj_loader_c.h) de tinyobjloader-c lee cada línea de un archivo de material .mtl en un búfer de pila fijo de 4096 bytes ’linebuf’ a través de memcpy(linebuf, p, p_len), protegida únicamente por ’assert(p_len < 4095)’. Debido a que assert() se compila como una operación nula (no-op) bajo -DNDEBUG (estándar para compilaciones de lanzamiento), un archivo .mtl manipulado que contiene una línea (por ejemplo, un nombre de material ’newmtl’) más larga de 4096 bytes desborda ’linebuf’ hacia la variable de pila adyacente ’namebuf’ y más allá, corrompiendo la pila de cualquier aplicación que carga archivos de modelo/material 3D suministrados por el atacante. El patrón vulnerable idéntico se duplica en una segunda función en el mismo archivo.

Information

Published : 2026-08-05 13:24

Updated : 2026-10-24 15:10


NVD link : CVE-2026-71266

Mitre link : CVE-2026-71266

CVE.ORG link : CVE-2026-71266


JSON object : View

Products Affected

No product.

CWE
CWE-121

Stack-based Buffer Overflow