Skip to main content

OctoPrint-SpoolManager CVE-2025-62169

HIGH
Improper Authentication (CWE-287)
2025-10-23 security-advisories@github.com
8.1
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed OctoPrint host
  2. Exploit
    Call unauthenticated SpoolManager API
  3. Execution
    Invoke settings-save without permission check
  4. Impact
    Read or alter spool metadata and plugin settings

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the OctoPrint-SpoolManager plugin at version 1.7.7/1.8.0a2 or older to be installed, with its blueprint APIs network-reachable to the attacker; no API key, login, or user interaction is needed because the plugin declared is_blueprint_protected() = False and skipped permission checks. The dominant LIMITING factor is the host OctoPrint version: on OctoPrint 1.11.2 and newer the vendor states impact is greatly reduced (reflected in the AC:H metric), so full impact is realistic only against older OctoPrint cores. A secondary practical limit is deployment exposure - OctoPrint instances are commonly bound to a LAN or behind authentication proxies and are not supposed to be internet-facing, narrowing the realistic attacker population.

Impact

This is a genuine but conditionally-constrained issue rather than an urgent fire. The confirmed signals are strong on paper: CVSS 8.1 with AV:N/PR:N/UI:N means the plugin's APIs were reachable over the network with no authentication and no user interaction, which the source diff corroborates (the removed is_blueprint_protected() returning False literally meant 'No API key required to request API access', and on_settings_save() had no permission gate before the fix added Permissions.SETTINGS.can()). Against that, several signals argue for a lower real-world priority. EPSS is only 0.45% (37th percentile), there is no CISA KEV listing and no public exploit identified, so there is no evidence of active or imminent mass exploitation - consistent with a niche 3D-printing plugin. The CVSS AC:H is the key tempering factor and aligns with the vendor's own statement that impact is 'greatly reduced' on OctoPrint 1.11.2+, i.e. full exploitation depends on a target condition outside the attacker's control (older OctoPrint host). No signals outright conflict, but note the tension: the vector claims C:H/I:H/A:H (via NVD) while the described impact is unauthorized read/write of spool metadata and plugin settings - the 'High' triad is defensible given settings manipulation and exposed default DB credentials, but defenders should treat the A:H in particular as an upper-bound estimate, not a confirmed destructive capability.

Exploit ScenarioDerived

An attacker who can reach an OctoPrint instance exposing the SpoolManager plugin (e.g. an internet-facing or LAN-accessible printer host) sends direct HTTP requests to the plugin's blueprint APIs, which perform no authentication or authorization checks. Without any API key or login, the attacker reads spool metadata and invokes settings operations such as saving/resetting plugin settings. No public exploit code was identified at time of analysis, though the patch commit publicly reveals the missing-permission root cause, lowering the effort to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Unauthenticated remote attackers can invoke the APIs of the OctoPrint-SpoolManager plugin, because the plugin's API blueprint declared is_blueprint_protected() as False (removing the API-key requirement) and failed to enforce permission checks on sensitive operations, allowing spool metadata, settings and other plugin data to be read or modified without any credentials. The affected releases are 1.7.7 and earlier on the stable branch and 1.8.0a2 and earlier on the testing branch; the vendor has released fixes in 1.7.8 and 1.8.0a3 respectively, and the vendor notes that impact is greatly reduced on OctoPrint 1.11.2 and newer, which is why the assessed CVSS vector carries AC:H despite PR:N. No public exploit code has been identified at time of analysis and there is no CISA KEV listing; EPSS is modest at 0.45% (37th percentile), and real-world exposure is further limited because OctoPrint instances are typically bound to a LAN or placed behind an authenticating reverse proxy rather than exposed to the internet.

RemediationAI

Vendor-released patch: upgrade OctoPrint-SpoolManager to 1.7.8 on the stable branch or 1.8.0a3 on the testing branch (release pages: https://github.com/WildRikku/OctoPrint-SpoolManager/releases/tag/1.7.8 and https://github.com/WildRikku/OctoPrint-SpoolManager/releases/tag/1.8.0a3; advisory: https://github.com/WildRikku/OctoPrint-SpoolManager/security/advisories/GHSA-2rrc-f24f-94f6). Where the plugin cannot be upgraded immediately, upgrade the OctoPrint core to 1.11.2 or newer, since the vendor states the impact is greatly reduced on those versions (this is a mitigating measure, not a substitute for patching the plugin). Compensating controls if neither update is possible: unbind OctoPrint from 0.0.0.0 and restrict it to localhost or a trusted LAN interface, or block inbound access to the OctoPrint port at the firewall/router, accepting that remote management and remote printing workflows will break; alternatively place OctoPrint behind a reverse proxy that enforces authentication (e.g. HTTP basic auth or mTLS) in front of all /api/plugin/SpoolManager paths, with the trade-off that OctoPrint's own API clients and mobile apps will also need to supply those proxy credentials; as a last resort, disable the SpoolManager plugin entirely, which removes the vulnerable blueprint but forfeits all spool tracking functionality. Note that simply setting an OctoPrint API key is not a workaround for unpatched versions, because the vulnerable code deliberately disabled API-key enforcement for its blueprint.

Affected ProductsAI

Affected are installations of the OctoPrint-SpoolManager plugin on the stable branch at version 1.7.7 and earlier and on the testing branch at version 1.8.0a2 and earlier; the plugin is a Python/JavaScript add-on (octoprint_SpoolManager, CPE-level product 'octoprint_spoolmanager') running on the OctoPrint 3D-printer management platform. Installations hosted on OctoPrint 1.11.2 or newer are still nominally affected by the plugin flaw but the vendor states the impact is greatly reduced, meaning the practical risk concentrates on older OctoPrint cores. Fixed versions are 1.7.8 for the stable branch and 1.8.0a3 for the testing branch, published as GitHub releases under WildRikku/OctoPrint-SpoolManager, with the vendor advisory GHSA-2rrc-f24f-94f6 and the fixing commit b725e113316e177ce81238a2dbbbdb63d92c40b0.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OctoPrint-SpoolManager is a third-party OctoPrint plugin that tracks 3D-printer filament spools and their usage metadata through a Flask blueprint mounted under the OctoPrint API namespace (plugin/SpoolManager). The root cause is CWE-287 (Improper Authentication), compounded by missing authorization: the plugin's SpoolManagerAPI class overrode OctoPrint's is_blueprint_protected() hook to return False, which tells the OctoPrint core that no API key is required to reach the blueprint, and the settings-save handler did not verify Permissions.SETTINGS.can() before acting. An attacker who can reach the OctoPrint web/API port therefore exercises plugin endpoints intended for authenticated administrators. The remediation commit b725e113 restores Permissions-based gating (returning HTTP 403 for insufficient rights), removes the is_blueprint_protected() override so normal API-key protection applies, and also hardens defaults by replacing placeholder database credentials in the default settings map. Because the underlying weakness is plugin-level rather than core-level, the limiting factor is the host core version: OctoPrint 1.11.2 and newer apply additional protections that greatly reduce the impact, which is reflected in the AC:H element of the assessed vector.

Know when Octoprint gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

Plugin APIs required no API key (PR:N, confirmed by removed is_blueprint_protected), reachable remotely without interaction; AC:H because full impact depends on the host running OctoPrint older than 1.11.2.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

OctoPrint-SpoolManager is a plugin for managing spools and all their usage metadata. In versions 1.8.0a2 and older of the testing branch and versions 1.7.7 and older of the stable branch, the APIs of the OctoPrint-SpoolManager plugin do not correctly enforce authentication or authorization checks. This issue has been patched in versions 1.8.0a3 of the testing branch and 1.7.8 of the stable branch. The impact of this vulnerability is greatly reduced when using OctoPrint version 1.11.2 and newer.

Executive ViewAI

Why It Matters

The OctoPrint-SpoolManager plugin, used to track filament inventory and print-material data on OctoPrint 3D-print management servers, allows anyone who can reach the host to read and modify plugin data without logging in on releases 1.7.7 and earlier (1.8.0a2 and earlier on the testing branch). Real-world exposure is limited because these instances are typically confined to internal networks or placed behind an authenticating reverse proxy, and no exploitation or public exploit code has been observed. Leadership should still care because undetected changes to spool and material records can corrupt production, inventory, or cost tracking that downstream teams rely on.

Business Impact: Medium
Compensating Controls

Apply vendor patch. Until SpoolManager 1.7.8 or 1.8.0a3 is deployed, restrict instances to trusted LAN segments, place them behind an authenticating reverse proxy, or disable/uninstall the plugin.

Threat Intelligence Overview

EPSS Score
0.5%
Top 63% exploitable
Prevalence
Low
popular OctoPrint plugin but niche hobbyist 3D-printing domain, rarely internet-exposed
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2024-32977 CRITICAL POC
9.4 May 14

OctoPrint provides a web interface for controlling consumer 3D printers. Rated critical severity (CVSS 9.4), this vulner

CVE-2018-16710 CRITICAL POC
9.1 Sep 07

OctoPrint through 1.3.9 allows remote attackers to obtain sensitive information or cause a denial of service via HTTP re

CVE-2022-3068 HIGH POC
8.8 Sep 21

Improper Privilege Management in GitHub repository octoprint/octoprint prior to 1.8.3. Rated high severity (CVSS 8.8), t

CVE-2022-2930 HIGH POC
7.8 Aug 22

Unverified Password Change in GitHub repository octoprint/octoprint prior to 1.8.3. Rated high severity (CVSS 7.8), this

CVE-2025-58180 HIGH POC
7.5 Sep 09

OctoPrint provides a web interface for controlling consumer 3D printers. Rated high severity (CVSS 7.5), this vulnerabil

CVE-2022-2822 HIGH POC
7.5 Aug 15

An attacker can freely brute force username and password and can takeover any account. Rated high severity (CVSS 7.5), t

CVE-2022-1430 HIGH POC
7.5 May 18

Cross-site Scripting (XSS) - DOM in GitHub repository octoprint/octoprint prior to 1.8.0. Rated high severity (CVSS 7.5)

CVE-2021-32560 MEDIUM POC
6.5 May 11

The Logging subsystem in OctoPrint before 1.6.0 has incorrect access control because it attempts to manage files that ar

CVE-2022-1432 MEDIUM POC
6.4 May 18

Cross-site Scripting (XSS) - Generic in GitHub repository octoprint/octoprint prior to 1.8.0. Rated medium severity (CVS

CVE-2021-32561 MEDIUM POC
6.1 May 11

OctoPrint before 1.6.0 allows XSS because API error messages include the values of input parameters. Rated medium severi

CVE-2022-3607 MEDIUM POC
6.0 Oct 19

Failure to Sanitize Special Elements into a Different Plane (Special Element Injection) in GitHub repository octoprint/o

CVE-2022-2872 MEDIUM POC
5.4 Sep 21

Unrestricted Upload of File with Dangerous Type in GitHub repository octoprint/octoprint prior to 1.8.3. Rated medium se

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy