Device-code claim permits restricted token escalation in Psono Server
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.
- Products
- Psono
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-117468
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 13:22 UTC · Revision 1
Source evidence
Device-code claim permits restricted token escalation in Psono Server
core-cve · Original sourcePublished 27 Oct 2026, 05:41 UTC
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.
cve:CVE-2026-117468
Psono
Fixed versions: Not specified
Complete source record
{
"id": "8dcf96e2ff17fceb9c3830b240ea1806569c23bca5aed02aea44a88e82685d36",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-117468",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Device-code claim permits restricted token escalation in Psono Server",
"summary": "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.",
"evidence": "cve:CVE-2026-117468",
"products": [
{
"name": {
"value": "Psono",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "CVE-2026-117468",
"aliases": [
"CVE-2026-117468"
],
"metrics": [
{
"format": "CVSS",
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.5,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "NONE"
},
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"affected": [
{
"repo": "https://gitlab.com/esaqa/psono/psono-server",
"vendor": "esaqa GmbH",
"modules": [
"Psono Server Community Edition",
"Psono Server Enterprise Edition"
],
"product": "Psono",
"versions": [
{
"status": "affected",
"version": "5.3.5",
"lessThan": "7.2.4",
"versionType": "semver"
}
],
"programFiles": [
"psono/restapi/views/device_code_claim.py",
"psono/restapi/views/device_code_token.py"
],
"defaultStatus": "unaffected"
}
],
"modified": "2026-10-27T05:59:08.920Z",
"provider": "cve",
"references": [
"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/views/device_code_claim.py",
"https://gitlab.com/esaqa/psono/psono-server/-/commit/19ed5a192c704fece1645d946b6f4c36045bacbe",
"https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4",
"https://gitlab.com/esaqa/psono/psono-server",
"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117468.md"
],
"provider_metadata": {
"cna": {
"orgId": "fdf66990-8419-4c8c-8848-ec15d75773b4",
"shortName": "esaqa",
"dateUpdated": "2026-10-27T05:59:08.920Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-117468",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 390499,
"published_at": "2026-10-27T05:41:30.742+00:00"
}