CVE-2024-23951
High · 8.8CVSS
8.8
EPSS
0.9%
Published
May 28, 2024
CISA due date
—
Cloudanix analysis
A bug in a library used for 3D model files lets attackers take over a computer if someone opens a specially made file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper array index validation in igl::MshLoader::parse_element_field while processing ASCII .msh files allows an out-of-bounds write, enabling memory corruption.
Why it matters to the business
Applications that load untrusted mesh files may crash or allow arbitrary code execution, disrupting design workflows and potentially compromising systems that process 3D models.
How an attack unfolds
An attacker crafts a malicious ASCII .msh file that triggers invalid indexing during element field parsing; when a victim application using the vulnerable library opens the file, the out-of-bounds write occurs and can be leveraged for code execution.
How to fix it
Upgrade libigl to a patched release that corrects the array bounds checks in MshLoader; until then, avoid opening untrusted .msh files and consider sandboxing mesh-processing applications.
How to confirm the fix worked
Rebuild or retest applications with the updated library against a corpus of malformed .msh files; confirm that parse_element_field rejects out-of-range indices without writing beyond allocated buffers.
Typical attack path
- Attacker creates a malformed .msh file exploiting array index flaws in parse_element_field
- Victim opens the file in an application linked against the vulnerable libigl library
- The library parses the ASCII element fields and performs the out-of-bounds write
- Memory corruption is achieved, allowing shellcode execution or process takeover
How to detect it
Review application logs and crash reports for segmentation faults or memory corruption signals occurring immediately after .msh file parsing; correlate with file-access timestamps on suspicious mesh files.
What your security team should do
- Inventory all software that statically or dynamically links libigl and prioritize updates
- Implement file-type whitelisting and sandboxing for any mesh file ingestion pipelines
- Monitor vulnerability feeds for the eventual fixed version and schedule deployment
The record
Multiple improper array index validation vulnerabilities exist in the readMSH functionality of libigl v2.5.0. A specially crafted .msh file can lead to an out-of-bounds write. An attacker can provide a malicious file to trigger this vulnerability.This vulnerability concerns the `igl::MshLoader::parse_element_field` function while handling an `ascii`.msh` file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | slic3r-prusa | 0 | No fix |
| Ubuntu:20.04:LTS | slic3r-prusa | 0 | No fix |
| Ubuntu:22.04:LTS | slic3r-prusa | 0 | No fix |
| Ubuntu:24.04:LTS | slic3r-prusa | 0 | No fix |
| Ubuntu:24.10 | slic3r-prusa | 0 | No fix |
| Ubuntu:25.04 | slic3r-prusa | 0 | No fix |
| Ubuntu:25.10 | slic3r-prusa | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | slic3r-prusa | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | slic3r-prusa | 0 | No fix |
Related vulnerabilities
- CVE-2024-24685 Multiple stack-based buffer overflow vulnerabilities exist in the readOFF functionality… Also affects slic3r-prusa
- CVE-2024-24686 Multiple stack-based buffer overflow vulnerabilities exist in the readOFF functionality… Also affects slic3r-prusa
- CVE-2024-24684 Multiple stack-based buffer overflow vulnerabilities exist in the readOFF functionality… Also affects slic3r-prusa
- CVE-2024-24583 Multiple out-of-bounds read vulnerabilities exist in the readMSH functionality of libigl… Also affects slic3r-prusa
- CVE-2024-24584 Multiple out-of-bounds read vulnerabilities exist in the readMSH functionality of libigl… Also affects slic3r-prusa
- CVE-2024-23949 Multiple improper array index validation vulnerabilities exist in the readMSH… Also affects slic3r-prusa
- CVE-2024-23950 Multiple improper array index validation vulnerabilities exist in the readMSH… Also affects slic3r-prusa
- CVE-2024-23948 Multiple improper array index validation vulnerabilities exist in the readMSH… Also affects slic3r-prusa