Cloudanix VulnDB

CVE-2024-23949

High · 8.8

CVSS

8.8

EPSS

0.9%

Published

May 28, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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

  1. Craft a malicious ascii .msh file containing oversized or negative node indices
  2. Deliver the file to a target via email, download, or shared storage
  3. Victim application invokes readMSH on the file
  4. parse_node_field processes the node field and performs the out-of-bounds write
  5. 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