CVE-2024-23948
High · 8.8CVSS
8.8
EPSS
0.9%
Published
May 28, 2024
CISA due date
—
Cloudanix analysis
A bug in a 3D mesh library lets attackers corrupt memory and potentially take over a computer simply by tricking someone into opening a bad file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper array index validation in igl::MshLoader::parse_nodes when handling ASCII .msh files allows an out-of-bounds write during node parsing.
Why it matters to the business
Processing untrusted mesh files in applications using this library can lead to crashes, memory corruption, or arbitrary code execution, risking data loss or system compromise in engineering and 3D modeling workflows.
How an attack unfolds
An attacker crafts a malicious ASCII .msh file that triggers the vulnerable parse_nodes path; when a user or automated process loads the file through libigl, the out-of-bounds write occurs, potentially allowing code execution.
How to fix it
Upgrade libigl to a version that includes bounds checks in MshLoader::parse_nodes; rebuild and redeploy dependent applications; validate all .msh inputs with strict schema checks until patched.
How to confirm the fix worked
Confirm libigl version is updated; test with known-malformed .msh samples in a sandbox; review parse error handling and memory sanitizer results on file loading paths.
Typical attack path
- Create specially crafted ASCII .msh file exploiting array index flaw
- Deliver file via email, download, or shared storage
- Victim application opens the file using libigl readMSH
- parse_nodes processes malformed node data causing OOB write
- Attacker payload executes or process crashes
How to detect it
Search application logs for .msh file loads followed by crashes or segmentation faults; inspect process memory dumps for OOB write patterns around node parsing; correlate with user-reported file handling failures.
What your security team should do
- Prioritize patching libigl in all build pipelines due to high CVSS and remote file-based attack vector
- Implement file-type sandboxing and content scanning for .msh files before processing
- Add runtime memory protections and fuzzing to mesh loaders
- Monitor for new exploit maturity signals given 869 days since disclosure
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_nodes` 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-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