CVE-2026-117468
Full vulnerability record from the local CVENow database.
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.
Severity
MEDIUM
CVSS score
6.5
(v3.1)
Vulnerability status
Deferred
Source identifier
fdf66990-8419-4c8c-8848-ec15d75773b4
Published
2026-10-27 06:17:24.527000
Last modified
2026-10-27 15:00:49.240000
View original CVE JSON
{
"id": "CVE-2026-117468",
"sourceIdentifier": "fdf66990-8419-4c8c-8848-ec15d75773b4",
"published": "2026-10-27T06:17:24.527",
"lastModified": "2026-10-27T15:00:49.240",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4",
"affectedData": [
{
"vendor": "esaqa GmbH",
"product": "Psono",
"defaultStatus": "unaffected",
"modules": [
"Psono Server Community Edition",
"Psono Server Enterprise Edition"
],
"programFiles": [
"psono/restapi/views/device_code_claim.py",
"psono/restapi/views/device_code_token.py"
],
"repo": "https://gitlab.com/esaqa/psono/psono-server",
"versions": [
{
"version": "5.3.5",
"lessThan": "7.2.4",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 3.6
}
]
},
"weaknesses": [
{
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-269"
}
]
}
],
"references": [
{
"url": "https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117468.md",
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4"
},
{
"url": "https://gitlab.com/esaqa/psono/psono-server",
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4"
},
{
"url": "https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/views/device_code_claim.py",
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4"
},
{
"url": "https://gitlab.com/esaqa/psono/psono-server/-/commit/19ed5a192c704fece1645d946b6f4c36045bacbe",
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4"
},
{
"url": "https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4",
"source": "fdf66990-8419-4c8c-8848-ec15d75773b4"
}
]
}