CVE-2024-22181
High · 7.8CVSS
7.8
EPSS
0.4%
Published
May 28, 2024
CISA due date
—
Cloudanix analysis
A bug in a popular 3D graphics library lets attackers take over computers by sending a specially made file that the software tries to open.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write in the readNODE function when parsing a specially crafted .node file, resulting in memory corruption that can lead to arbitrary code execution.
Why it matters to the business
Applications using libigl to process 3D mesh data become susceptible to remote code execution via malicious files, potentially allowing attackers to compromise systems, exfiltrate data, or disrupt operations involving geometry processing workflows.
How an attack unfolds
An attacker creates a malformed .node file that triggers the out-of-bounds write during parsing. The file is delivered to a target (via download, attachment, or shared storage), and when an application using the vulnerable libigl version loads it, the corruption occurs and can be leveraged for code execution.
How to fix it
Upgrade libigl to the latest patched release that resolves the readNODE vulnerability. Validate all dependent applications and rebuild them against the fixed library version. Implement file-type restrictions or sandboxing for untrusted .node inputs until upgrades are complete.
How to confirm the fix worked
Confirm the installed libigl version is newer than 2.5.0 and test processing of known-good versus crafted .node files in a controlled environment to verify absence of crashes or corruption. Review build logs and dependency manifests for the updated library hash.
Typical attack path
- Craft a malicious .node file exploiting the readNODE parsing flaw
- Distribute the file to targets through common delivery vectors such as email, web downloads, or shared repositories
- Victim application using libigl v2.5.0 opens or processes the file
- Out-of-bounds write executes, enabling memory corruption and potential shellcode execution
How to detect it
Review application logs and crash reports for segmentation faults or memory errors during .node file parsing. Correlate file access timestamps of .node files with unexpected process behavior or privilege escalation events.
What your security team should do
- Prioritize inventorying all software using libigl and schedule immediate upgrades
- Block or quarantine .node files from untrusted sources at email and web gateways
- Enable memory safety mitigations such as ASLR and DEP on systems running affected applications
- Monitor for abnormal process terminations when handling geometry files
The record
An out-of-bounds write vulnerability exists in the readNODE functionality of libigl v2.5.0. A specially crafted .node file can lead to an out-of-bounds write. An attacker can provide a malicious file to trigger this vulnerability.
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