CVE-2024-24684
High · 7.8CVSS
7.8
EPSS
0.7%
Published
May 28, 2024
CISA due date
—
Cloudanix analysis
A design flaw lets attackers take over a computer simply by getting a user to open a specially made 3D model file.
- 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
Stack-based buffer overflow in readOFF header parsing allows a malicious .off file to overwrite the fixed-size comment buffer via unsafe fscanf when the first header line exceeds 1000 bytes, enabling local code execution.
Why it matters to the business
Organizations relying on libigl for 3D geometry processing face risk of arbitrary code execution when users open attacker-supplied model files, potentially leading to workstation compromise, data theft, or ransomware deployment; the issue has remained unpatched for over two years with no known public exploits.
How an attack unfolds
An attacker crafts an .off file whose first header line exceeds 1000 bytes, then convinces a target to open the file with an application using the vulnerable readOFF function; the overflow corrupts the stack and can be leveraged for code execution without network access.
How to fix it
Upgrade to a version of libigl that contains a corrected readOFF implementation; until a fix is released, disable processing of .off files or sandbox applications that use the library when handling untrusted input.
How to confirm the fix worked
Rebuild the application with the updated library and confirm that long header lines in .off test files no longer trigger overflows; scan source and binary dependencies for the original libigl 2.5.0 readOFF pattern.
Typical attack path
- Craft a malicious .off file with an oversized first header line
- Deliver the file via email, download link, or shared storage
- Victim opens the file in an application linked against vulnerable libigl
- readOFF header parsing overflows the comment buffer
- Attacker-controlled data overwrites return addresses or function pointers
- Shellcode or ROP chain executes with the privileges of the victim process
How to detect it
Search file-access and process-creation logs for applications linked to libigl opening .off files; look for unusually long first lines in .off headers or crash reports indicating stack corruption during header parsing.
What your security team should do
- Inventory all software and containers that statically or dynamically link libigl
- Block or quarantine .off files at email and file-share gateways pending patch availability
- Apply application sandboxing or user-mode restrictions for any remaining 3D processing workflows
- Monitor vulnerability feeds for a future libigl security release and expedite deployment once available
The record
Multiple stack-based buffer overflow vulnerabilities exist in the readOFF functionality of libigl v2.5.0. A specially crafted .off file can lead to stack-based buffer overflow. An attacker can provide a malicious file to trigger this vulnerability.This vulnerability concerns the header parsing occuring while processing an `.off` file via the `readOFF` function. We can see above that at [0] a stack-based buffer called `comment` is defined with an hardcoded size of `1000 bytes`. The call to `fscanf` at [1] is unsafe and if the first line of the header of the `.off` files is longer than 1000 bytes it will overflow the `header` buffer.
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-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
- CVE-2024-23948 Multiple improper array index validation vulnerabilities exist in the readMSH… Also affects slic3r-prusa