Executive brief
Wings3D is a 3D modeling application used to create and edit 3D graphics. A vulnerability in its Wavefront OBJ file parser allows an attacker to crash the application by crafting a malicious OBJ file containing special IEEE 754 float values (NaN, Inf). If a user opens such a file, the application will immediately crash, resulting in loss of any unsaved work and service disruption.
Technical details
The vulnerability is an improper exception handling issue (CWE-754) in Wings3D's custom float parser function str2float_2/2 located in e3d_obj.erl. The parser uses Erlang pattern matching to parse digit sequences but lacks clauses to handle IEEE 754 special values (NaN, Inf, -Inf) or edge cases like standalone dots. When a crafted OBJ file containing these values is imported, the parser throws an unhandled function_clause exception that crashes the Erlang runtime. Attack preconditions require only user interaction (opening a file); no authentication or special privileges are needed. The impact is denial of service only—no code execution or data exposure is possible. As of 2026-09-05, no patch is available.
Affected products
- Wings3D Wings3D 2.4.1 and prior
Timeline
- 2026-09-05: disclosed: Public advisory published; vendor notified via GitHub issue
- 2026-06-08: other: CVE-2026-39020 assigned by MITRE
- 2026-03-31: other: CVE request submitted to MITRE