p PatchFirst

CVE-2026-54134

CVE-2026-54134 · OctoPrint: File exfiltration possible via query parameters on upload endpoints

This page contains facts from public vulnerability sources. Check the original advisory before updating.

OctoPrint provides a web interface for controlling consumer 3D printers. Prior to 1.11.8 and 2.0.0rc3, OctoPrint's custom Tornado upload handler and Flask with Werkzeug parse request parameters differently, allowing an attacker with FILE_UPLOAD permission to inject reserved internal upload fields through query parameters or parser differentials despite the earlier GHSA-m9jh-jf9h-x3h2 fix. The affected endpoints are /api/files/{local|sdcard}, /api/languages, /plugin/backup/restore, and /plugin/pluginmanager/upload_file. An attacker can make OctoPrint treat an arbitrary host file as a temporary upload, move it into a downloadable upload directory, disclose configuration secrets or other readable files, and remove runtime files in a way that can affect a later restart. This issue is fixed in versions 1.11.8 and 2.0.0rc3.

CVSS 7.0 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: python

Affected products and versions

  • octoprint

    Versions
    • < 1.11.8: Affected
    • >= 2.0.0rc1, < 2.0.0rc3: Affected

    No fix published

  • octoprint PyPI

    Versions
    • 1.10.0
    • 1.10.0rc1
    • 1.10.0rc2
    • 1.10.0rc3
    • 1.10.0rc4
    • 1.10.1
    • 1.10.2
    • 1.10.3
    • 1.11.0
    • 1.11.0rc1
    • 1.11.0rc2
    • 1.11.0rc3
    • 1.11.0rc4
    • 1.11.0rc5
    • 1.11.0rc6
    • 1.11.0rc7
    • 1.11.1
    • 1.11.2
    • 1.11.3
    • 1.11.4
    • 1.11.5
    • 1.11.6
    • 1.11.7
    • 1.3.11
    • 1.3.12
    • 1.3.12rc1
    • 1.3.12rc3
    • 1.4.0
    • 1.4.0rc1
    • 1.4.0rc2
    • 1.4.0rc3
    • 1.4.0rc4
    • 1.4.0rc5
    • 1.4.0rc6
    • 1.4.1
    • 1.4.1rc1
    • 1.4.1rc2
    • 1.4.1rc3
    • 1.4.1rc4
    • 1.4.2
    • 1.5.0
    • 1.5.0rc1
    • 1.5.0rc2
    • 1.5.0rc3
    • 1.5.1
    • 1.5.2
    • 1.5.3
    • 1.6.0
    • 1.6.0rc1
    • 1.6.0rc2
    • 1.6.0rc3
    • 1.6.1
    • 1.7.0
    • 1.7.0rc1
    • 1.7.0rc2
    • 1.7.0rc3
    • 1.7.1
    • 1.7.2
    • 1.7.3
    • 1.8.0
    • 1.8.0rc1
    • 1.8.0rc2
    • 1.8.0rc3
    • 1.8.0rc4
    • 1.8.0rc5
    • 1.8.1
    • 1.8.2
    • 1.8.3
    • 1.8.4
    • 1.8.5
    • 1.8.6
    • 1.8.7
    • 1.9.0
    • 1.9.0rc1
    • 1.9.0rc2
    • 1.9.0rc3
    • 1.9.0rc4
    • 1.9.0rc5
    • 1.9.0rc6
    • 1.9.1
    • 1.9.2
    • 1.9.3
    Affected ranges
    • ECOSYSTEM: < 1.11.8

    Update to 1.11.8

  • octoprint PyPI

    Versions
    • 2.0.0rc1
    • 2.0.0rc2
    Affected ranges
    • ECOSYSTEM: ≥ 2.0.0rc1, < 2.0.0rc3

    Update to 2.0.0rc3

  • octoprint PyPI

    Versions
    • 1.10.0
    • 1.10.0rc1
    • 1.10.0rc2
    • 1.10.0rc3
    • 1.10.0rc4
    • 1.10.1
    • 1.10.2
    • 1.10.3
    • 1.11.0
    • 1.11.0rc1
    • 1.11.0rc2
    • 1.11.0rc3
    • 1.11.0rc4
    • 1.11.0rc5
    • 1.11.0rc6
    • 1.11.0rc7
    • 1.11.1
    • 1.11.2
    • 1.11.3
    • 1.11.4
    • 1.11.5
    • 1.11.6
    • 1.11.7
    • 1.3.11
    • 1.3.12
    • 1.3.12rc1
    • 1.3.12rc3
    • 1.4.0
    • 1.4.0rc1
    • 1.4.0rc2
    • 1.4.0rc3
    • 1.4.0rc4
    • 1.4.0rc5
    • 1.4.0rc6
    • 1.4.1
    • 1.4.1rc1
    • 1.4.1rc2
    • 1.4.1rc3
    • 1.4.1rc4
    • 1.4.2
    • 1.5.0
    • 1.5.0rc1
    • 1.5.0rc2
    • 1.5.0rc3
    • 1.5.1
    • 1.5.2
    • 1.5.3
    • 1.6.0
    • 1.6.0rc1
    • 1.6.0rc2
    • 1.6.0rc3
    • 1.6.1
    • 1.7.0
    • 1.7.0rc1
    • 1.7.0rc2
    • 1.7.0rc3
    • 1.7.1
    • 1.7.2
    • 1.7.3
    • 1.8.0
    • 1.8.0rc1
    • 1.8.0rc2
    • 1.8.0rc3
    • 1.8.0rc4
    • 1.8.0rc5
    • 1.8.1
    • 1.8.2
    • 1.8.3
    • 1.8.4
    • 1.8.5
    • 1.8.6
    • 1.8.7
    • 1.9.0
    • 1.9.0rc1
    • 1.9.0rc2
    • 1.9.0rc3
    • 1.9.0rc4
    • 1.9.0rc5
    • 1.9.0rc6
    • 1.9.1
    • 1.9.2
    • 1.9.3
    • 2.0.0rc1
    • 2.0.0rc2
    Affected ranges
    • ECOSYSTEM: < 1.11.8 ∪ ≥ 2.0.0rc1, < 2.0.0rc3

    Update to 1.11.8; Update to 2.0.0rc3

Original sources

Check your server →