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.
History

Mon, 10 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Description 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 `linebuf` via memcpy(linebuf, p, p_len), guarded only by `assert(p_len < 4095)`. Because assert() compiles to a no-op under -DNDEBUG (standard for release builds), a crafted .mtl file containing a line (e.g. a "newmtl" material name) longer than 4096 bytes overflows linebuf into the adjacent stack variable namebuf and beyond, corrupting the stack of any application that loads attacker-supplied 3D model/material files. The identical vulnerable pattern is duplicated in a second function in the same file. 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.
Title tinyobjloader-c - Stack Buffer Overflow in MTL Material File Line Parsing tinyobjloader-c Stack Buffer Overflow in MTL Material File Line Parsing

Mon, 10 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Title tinyobjloader-c Stack Buffer Overflow in MTL Material File Line Parsing tinyobjloader-c - Stack Buffer Overflow in MTL Material File Line Parsing

Fri, 07 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
First Time appeared Syoyo
Syoyo tinyobjloader-c
Vendors & Products Syoyo
Syoyo tinyobjloader-c

Wed, 05 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Description 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 `linebuf` via memcpy(linebuf, p, p_len), guarded only by `assert(p_len < 4095)`. Because assert() compiles to a no-op under -DNDEBUG (standard for release builds), a crafted .mtl file containing a line (e.g. a "newmtl" material name) longer than 4096 bytes overflows linebuf into the adjacent stack variable namebuf and beyond, corrupting the stack of any application that loads attacker-supplied 3D model/material files. The identical vulnerable pattern is duplicated in a second function in the same file.
Title tinyobjloader-c Stack Buffer Overflow in MTL Material File Line Parsing
Weaknesses CWE-121
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published: 2026-08-05T12:26:14.097Z

Updated: 2026-08-10T11:46:35.656Z

Reserved: 2026-08-05T12:23:34.967Z

Link: CVE-2026-71266

cve-icon Vulnrichment

Updated: 2026-08-05T15:40:54.703Z

cve-icon NVD

Status : Deferred

Published: 2026-08-05T13:24:50.843

Modified: 2026-08-26T17:13:24.800

Link: CVE-2026-71266

cve-icon Redhat

No data.