Device-code claim permits restricted token escalation in Psono Server
Impact
Psono Server versions 5.3.5 through 7.2.3 used a permission class that did not enforce token write scope when claiming a device code. An authenticated remote attacker holding a restricted API key-derived session could claim an attacker-controlled device code and obtain a full read-write session valid for up to 365 days, bypassing the original token's scope and lifetime restrictions. This did not bypass two-factor authentication or directly disclose plaintext secrets.
Source excerpt · esaqaWhat to do
Upgrade to Psono Server 7.2.4 or later.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
esaqa GmbH · Psono
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 5.3.5 to before 7.2.4 | affected |
Original source description
Psono Server versions 5.3.5 through 7.2.3 used a permission class that did not enforce token write scope when claiming a device code. An authenticated remote attacker holding a restricted API key-derived session could claim an attacker-controlled device code and obtain a full read-write session valid for up to 365 days, bypassing the original token's scope and lifetime restrictions. This did not bypass two-factor authentication or directly disclose plaintext secrets.
References
- Source reference gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/views/device_code_claim.py
- Patch gitlab.com/esaqa/psono/psono-server/-/commit/19ed5a192c704fece1645d946b6f4c36045bacbe
- Release notes gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4
- Source reference gitlab.com/esaqa/psono/psono-server
- Security advisory gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117468.md