PYSEC-2026-1716

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/octoprint/PYSEC-2026-1716.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-1716
Aliases
Published
2026-07-07T16:03:20.785868Z
Modified
2026-07-07T17:47:22.775571550Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
  • 6.0 (Medium) CVSS_V4 - CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
OctoPrint has Timing Side-Channel Vulnerability in API Key Authentication
Details

Impact

OctoPrint versions up to and including 1.11.5 are affected by a (theoretical) timing attack vulnerability that allows API key extraction over the network.

Due to using character based comparison that short-circuits on the first mismatched character during API key validation, rather than a cryptographical method with static runtime regardless of the point of mismatch, an attacker with network based access to an affected OctoPrint could extract API keys valid on the instance by measuring the response times of the denied access responses and guess an API key character by character.

Patches

The vulnerability will be patched in version 1.11.6.

Workaround

The likelihood of this attack actually working is highly dependent on the network's latency, noise and similar parameters. An actual proof of concept was not achieved so far. Still, as always administrators are advised to not expose their OctoPrint instance on hostile networks, especially not on the public Internet!

Credits

This vulnerability was discovered and responsibly disclosed to OctoPrint by Knox Liu.

References

Affected packages

PyPI / octoprint

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.11.6

Affected versions

1.*
1.3.11
1.3.12rc1
1.3.12rc3
1.3.12
1.4.0rc1
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0
1.4.1rc1
1.4.1rc2
1.4.1rc3
1.4.1rc4
1.4.1
1.4.2
1.5.0rc1
1.5.0rc2
1.5.0rc3
1.5.0
1.5.1
1.5.2
1.5.3
1.6.0rc1
1.6.0rc2
1.6.0rc3
1.6.0
1.6.1
1.7.0rc1
1.7.0rc2
1.7.0rc3
1.7.0
1.7.1
1.7.2
1.7.3
1.8.0rc1
1.8.0rc2
1.8.0rc3
1.8.0rc4
1.8.0rc5
1.8.0
1.8.1
1.8.2
1.8.3
1.8.4
1.8.5
1.8.6
1.8.7
1.9.0rc1
1.9.0rc2
1.9.0rc3
1.9.0rc4
1.9.0rc5
1.9.0rc6
1.9.0
1.9.1
1.9.2
1.9.3
1.10.0rc1
1.10.0rc2
1.10.0rc3
1.10.0rc4
1.10.0
1.10.1
1.10.2
1.10.3
1.11.0rc1
1.11.0rc2
1.11.0rc3
1.11.0rc4
1.11.0rc5
1.11.0rc6
1.11.0rc7
1.11.0
1.11.1
1.11.2
1.11.3
1.11.4
1.11.5

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/octoprint/PYSEC-2026-1716.yaml"