CVE-2024-23949
High · 8.8CVSS
8.8
EPSS
0.9%
Published
May 28, 2024
CISA due date
—
Cloudanix analysis
A graphics library used by many design and simulation tools can be tricked into crashing or being taken over when it opens a specially made data file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write triggered in igl::MshLoader::parse_node_field during ascii .msh file parsing due to missing array index validation, enabling memory corruption.
Why it matters to the business
Applications that load external mesh files can be crashed or compromised, disrupting 3D modeling, simulation, or visualization workflows and requiring emergency patching or file-handling changes.
How an attack unfolds
An attacker creates a malicious ascii .msh file with crafted node-field data that bypasses index checks in parse_node_field; when a victim application using libigl opens the file, the library performs an out-of-bounds write that can be leveraged for code execution or denial of service.
How to fix it
Upgrade libigl to a version that corrects the array-index validation in parse_node_field once released; in the interim, disable or sandbox processing of untrusted .msh files and apply strict input validation before calling MshLoader.
How to confirm the fix worked
Confirm the installed libigl version is newer than 2.5.0 and test that crafted ascii .msh files no longer trigger out-of-bounds writes or crashes in parse_node_field; review application logs for memory-protection violations during file loading.
Typical attack path
- Craft a malicious ascii .msh file containing oversized or negative node indices
- Deliver the file to a target via email, download, or shared storage
- Victim application invokes readMSH on the file
- parse_node_field processes the node field and performs the out-of-bounds write
- Attacker-controlled data overwrites memory, enabling further exploitation
How to detect it
Monitor application crash reports and memory-protection logs for faults occurring inside libigl MshLoader or parse_node_field when ascii .msh files are processed; correlate file-open events with subsequent abnormal memory writes or process terminations.
What your security team should do
- Track libigl release announcements for the security fix and schedule upgrade
- Implement application-level checks that reject .msh files with anomalous node counts or non-ASCII content
- Run libigl-based components inside sandboxed processes with memory-safety mitigations enabled
- Add .msh file handling to the list of untrusted input surfaces monitored by security tooling
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_node_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-23951 Multiple improper array index validation vulnerabilities exist in the readMSH… 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-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