Executive brief
MaterialX is a materials and shading language used in visual effects and 3D graphics applications. A maliciously crafted MTLX file can cause applications using MaterialX to crash due to improper null pointer handling when processing shader node graphs.
Technical details
This is a null pointer dereference vulnerability (CWE-476) in MaterialX's src/MaterialXCore/Material.cpp file within the getShaderNodes function. The vulnerability occurs when parsing MTLX shader files: the code calls nodeGraph->getOutput() which can return a null pointer, but the returned value is not checked before being dereferenced in a loop to call output->getConnectedNode(). An attacker can craft a malicious MTLX file with a nodegraph output reference that does not exist, triggering a crash when the application attempts to process it. No authentication or special privileges are required; the attack only requires the victim to open the malicious file with MaterialX-based software.
Affected products
- Academy Software Foundation MaterialX 1.39.2
Timeline
- 2025-07-31: disclosed
- 2025-07-31: patched: Fixed in version 1.39.3