Assimp through 6.0.5 Heap Out-of-Bounds Read via MD2 Importer Integer Overflow
Impact
Assimp through 6.0.5 contains an integer overflow vulnerability in MD2Importer::ValidateHeader() that allows attackers to bypass frame table bounds checks using crafted header fields. Attackers can supply a malicious .md2 file whose numFrames and numVertices values wrap the 32-bit size check, causing heap out-of-bounds reads that crash applications or expose adjacent heap memory.
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
assimp · assimp
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 6.0.5 (inclusive) | affected |
Original source description
Assimp through 6.0.5 contains an integer overflow vulnerability in MD2Importer::ValidateHeader() that allows attackers to bypass frame table bounds checks using crafted header fields. Attackers can supply a malicious .md2 file whose numFrames and numVertices values wrap the 32-bit size check, causing heap out-of-bounds reads that crash applications or expose adjacent heap memory.
References
- Source reference github.com/assimp/assimp/issues/6929
- Patch github.com/assimp/assimp/pull/6963
- Patch github.com/assimp/assimp/commit/7dbc85d9218fae017d4fad70269e7569f7b0c870
- Source reference github.com/assimp/assimp/blob/v6.0.5/code/AssetLib/MD2/MD2Loader.cpp
- Source reference github.com/assimp/assimp
- Security advisory www.vulncheck.com/advisories/assimp-through-6.0.5-heap-out-of-bounds-read-via-md2-importer-integer-overflow