CVE-2026-10197 Overview
CVE-2026-10197 is a null pointer dereference vulnerability in the Open Asset Import Library (Assimp) through version 6.0.4. The flaw resides in the glTF2Importer::ImportEmbeddedTextures function within code/AssetLib/glTF2/glTF2Importer.cpp, which handles glTF file parsing. An attacker with local access can supply a crafted glTF file that triggers a null pointer dereference, resulting in a denial-of-service condition in the importing process. A public proof-of-concept exists, but the issue requires local access and authenticated, low-privilege interaction with the affected library. The fix is pending acceptance via a pull request to the upstream Assimp repository.
Critical Impact
Local attackers can crash applications that embed Assimp by feeding a malformed glTF file to the embedded texture importer, causing process termination through a null pointer dereference [CWE-404].
Affected Products
- Assimp (Open Asset Import Library) versions up to and including 6.0.4
- Applications and game engines that bundle the vulnerable glTF2Importer component
- 3D content pipelines parsing untrusted glTF assets via Assimp
Discovery Timeline
- 2026-05-31 - CVE-2026-10197 published to the National Vulnerability Database
- 2026-06-01 - Last updated in NVD database
- 2026-06-04 - EPSS score recorded at 0.013% (percentile 2.13)
Technical Details for CVE-2026-10197
Vulnerability Analysis
The vulnerability is a null pointer dereference categorized under [CWE-404] (Improper Resource Shutdown or Release). It occurs in the ImportEmbeddedTextures method of the glTF2Importer class, which is responsible for loading textures that are embedded directly inside glTF 2.0 asset files. When the importer encounters a malformed embedded texture entry, an expected pointer remains uninitialized or unset. Subsequent dereference of that pointer causes the host process to abort.
Because Assimp is widely embedded into 3D modeling tools, game engines, and asset pipelines, the affected code path is reachable in any consuming application that loads glTF files originating from a local user. The result is a denial-of-service condition limited to the process performing the import.
Root Cause
The glTF2Importer::ImportEmbeddedTextures function does not validate that pointers referencing buffer views or image data are non-null before use. When a crafted glTF file omits or corrupts the structure that backs an embedded texture, the resulting pointer is null, and the importer dereferences it without a guard clause. The pull request submitted upstream adds the missing validation before pointer access.
Attack Vector
Exploitation requires local access to a system running an application that uses Assimp to import glTF files. An attacker places a crafted glTF file in a location the target user opens, then waits for the import operation. The attack does not yield code execution or data disclosure. Confidentiality and integrity remain intact, and only availability of the importing process is affected. A proof-of-concept archive is publicly available via the GitHub PoC Archive.
No synthetic exploitation code is reproduced here. Refer to the upstream tracking discussion at GitHub Issue #6608 for technical specifics of the malformed structure.
Detection Methods for CVE-2026-10197
Indicators of Compromise
- Unexpected crashes or abnormal terminations of applications invoking Assimp during glTF import operations
- Presence of unfamiliar .gltf or .glb files in user-writable directories used by 3D tooling
- Crash dumps referencing glTF2Importer::ImportEmbeddedTextures in the faulting call stack
Detection Strategies
- Monitor application crash telemetry for processes linking against libassimp and correlate with recent glTF file access
- Inspect installed Assimp versions across developer workstations and build agents, flagging any version at or below 6.0.4
- Use file integrity monitoring to alert on newly introduced glTF assets in shared content pipelines
Monitoring Recommendations
- Enable verbose logging in Assimp-consuming applications to capture importer state immediately before a crash
- Track Windows Error Reporting or Linux core dumps tied to importer threads for trend analysis
- Collect endpoint telemetry on processes opening .gltf/.glb files from untrusted sources
How to Mitigate CVE-2026-10197
Immediate Actions Required
- Inventory all software that bundles Assimp and identify versions at or below 6.0.4
- Restrict opening of glTF files originating from untrusted local users until the patch is applied
- Apply the upstream fix manually from the pending pull request where rebuilding from source is feasible
Patch Information
A fix is proposed in GitHub Pull Request #6645 against the Assimp repository at github.com/assimp/assimp. The pull request awaits acceptance at the time of CVE publication. Downstream consumers should track the merge status and rebuild against a patched commit once available. Tracking details are mirrored at VulDB CVE-2026-10197.
Workarounds
- Disable or gate the glTF2 import path in applications that do not require glTF support
- Sandbox or containerize import operations so a crash does not affect the host workflow
- Validate glTF files with an independent parser before passing them to Assimp
# Build Assimp from source against the proposed fix branch
git clone https://github.com/assimp/assimp.git
cd assimp
git fetch origin pull/6645/head:fix-CVE-2026-10197
git checkout fix-CVE-2026-10197
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

