Cloudanix VulnDB

CVE-2024-23951

High · 8.8

CVSS

8.8

EPSS

0.9%

Published

May 28, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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

  1. Attacker creates a malformed .msh file exploiting array index flaws in parse_element_field
  2. Victim opens the file in an application linked against the vulnerable libigl library
  3. The library parses the ASCII element fields and performs the out-of-bounds write
  4. 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