Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2023-47268

CVE-2023-47268: Prusa PrusaSlicer RCE Vulnerability

CVE-2023-47268 is a remote code execution vulnerability in Prusa PrusaSlicer that allows attackers to execute arbitrary code via crafted 3mf project files. This article covers the technical details, affected versions, and mitigation.

Published:

CVE-2023-47268 Overview

CVE-2023-47268 is a command injection vulnerability in Prusa PrusaSlicer through version 2.6.1. The flaw resides in libslic3r/GCode/PostProcessor.cpp, where a crafted .3mf project file can execute arbitrary commands on the host slicing the project. Exploitation requires a user to open or slice a malicious project file, after which arbitrary code runs in the context of the PrusaSlicer process. The vulnerability is tracked under CWE-77 (Improper Neutralization of Special Elements used in a Command).

Critical Impact

A malicious 3mf project file shared with a 3D printing user can trigger arbitrary code execution on the workstation that performs slicing and G-code export.

Affected Products

  • Prusa3D PrusaSlicer through 2.6.1
  • 3mf project files processed by libslic3r/GCode/PostProcessor.cpp
  • Workstations and build hosts running PrusaSlicer with post-processing scripts enabled

Discovery Timeline

  • 2026-05-08 - CVE-2023-47268 published to NVD
  • 2026-05-11 - Last updated in NVD database

Technical Details for CVE-2023-47268

Vulnerability Analysis

PrusaSlicer supports user-defined post-processing scripts that run automatically after G-code export. The configuration for these scripts is serialized into project files using the 3mf container format. When a user opens a 3mf project, PrusaSlicer deserializes the embedded configuration and, during slicing or export, invokes any post-processing command specified inside it. The post-processor logic in libslic3r/GCode/PostProcessor.cpp does not require user confirmation before executing the command string carried inside the project file. An attacker who delivers a weaponized 3mf file therefore controls a command line that PrusaSlicer will execute locally.

Root Cause

The root cause is improper neutralization of command elements ([CWE-77]) in the post-processing path. Project-file fields that should be treated as untrusted data are passed into a process-creation routine without sanitization, validation, or an explicit user prompt. Trust placed in the 3mf container is misaligned with how project files are shared between hobbyists, marketplaces, and online model repositories.

Attack Vector

Exploitation is local and requires user interaction. An attacker hosts or shares a malicious 3mf project, for example on a model-sharing site or via email. When the victim opens the file in PrusaSlicer and proceeds to slice or export G-code, the embedded post-processing command executes with the privileges of the PrusaSlicer user. No memory corruption is involved, the exploitation pattern is purely command injection via project metadata. Public technical details are available in the VulnCheck Local Exploit #39547 archive and the Prusa3D Post-Processing Guide.

Detection Methods for CVE-2023-47268

Indicators of Compromise

  • PrusaSlicer (prusa-slicer.exe or prusa-slicer binary) spawning child processes such as cmd.exe, powershell.exe, /bin/sh, bash, or python shortly after a slice or export action.
  • 3mf files containing a post_process configuration key referencing executables, shell metacharacters, or absolute paths to interpreters.
  • Outbound network connections initiated by processes whose parent is PrusaSlicer.

Detection Strategies

  • Inspect 3mf archives before opening. Extract the embedded Slic3r_PE.config or equivalent configuration and review the post_process field for unexpected commands.
  • Hunt endpoint telemetry for parent-child relationships where PrusaSlicer launches scripting hosts or shells.
  • Flag PrusaSlicer processes that write to or execute from temporary or user-writable directories shortly after opening a project file.

Monitoring Recommendations

  • Enable process creation logging (Windows Event ID 4688 or Sysmon Event ID 1) on workstations used for 3D printing workflows.
  • Forward endpoint process telemetry to a centralized analytics platform and alert on PrusaSlicer spawning interpreters or network utilities.
  • Track file open events for .3mf files originating from email, browser downloads, or removable media.

How to Mitigate CVE-2023-47268

Immediate Actions Required

  • Upgrade PrusaSlicer to a release later than 2.6.1 that addresses post-processing script handling. Check the Prusa3D PrusaSlicer Overview and the Slic3r Download Page for current builds.
  • Treat 3mf files from untrusted sources as untrusted code and avoid opening them on workstations with access to sensitive data or networks.
  • Audit existing PrusaSlicer configurations for unexpected post-processing scripts before resuming use.

Patch Information

No vendor advisory URL was supplied with the NVD record. Users should obtain the latest PrusaSlicer release directly from Prusa3D and review release notes for fixes referencing PostProcessor.cpp or post-processing script handling. Refer to the Prusa3D Post-Processing Guide for the intended use of this feature.

Workarounds

  • Open untrusted 3mf files in an isolated virtual machine or sandbox that has no access to corporate resources.
  • Manually clear the post-processing scripts field in PrusaSlicer preferences after importing any project file from an external source.
  • Restrict the PrusaSlicer user account so that executed commands cannot reach sensitive files, credentials, or administrative tooling.
bash
# Inspect a 3mf project for embedded post-processing commands before opening
unzip -p suspicious.3mf 'Metadata/Slic3r_PE.config' | grep -i 'post_process'

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.