python-keycloak — security advisory
A flaw was found in the Keycloak server during refresh token processing, specifically in the TokenManager class responsible for enforcing refresh token reuse policies. When strict refresh token rotation is enabled, the validation and update of refresh token usage are not performed atomically. This allows concurrent refresh requests to bypass single-use enforcement and issue multiple access tokens from the same refresh token. As a result, Keycloak’s refresh token rotation hardening can be undermined.
- Products
- python-keycloak
- Affected versions
- 3.3.0+dfsg-2, 3.9.0+dfsg-1, 5.3.1+dfsg-1, 5.7.0+dfsg-1
- Fixed versions
- Not specified
- CVEs
- CVE-2026-1035
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 01:58 UTC · Revision 1
Source evidence
A flaw was found in the Keycloak server during refresh token processing, specifically in the TokenManager class responsible for enforcing refresh token reuse policies. When strict refresh token rotation is enabled, the validation and update of refresh token usage are not performed atomically. This allows concurrent refresh requests to bypass single-use enforcement and issue multiple access tokens from the same refresh token. As a result, Keycloak’s refresh token rotation hardening can be undermined.
osv:UBUNTU-CVE-2026-1035
python-keycloak
Fixed versions: Not specified
python-keycloak
Fixed versions: Not specified
python-keycloak
Fixed versions: Not specified
Complete source record
{
"id": "0273ed18f44cc905f17fcc41229f315e5ea1fd3df3a958bca7977113273c4ddc",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-1035",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-1035",
"summary": "A flaw was found in the Keycloak server during refresh token processing, specifically in the TokenManager class responsible for enforcing refresh token reuse policies. When strict refresh token rotation is enabled, the validation and update of refresh token usage are not performed atomically. This allows concurrent refresh requests to bypass single-use enforcement and issue multiple access tokens from the same refresh token. As a result, Keycloak’s refresh token rotation hardening can be undermined.",
"evidence": "osv:UBUNTU-CVE-2026-1035",
"products": [
{
"name": {
"value": "python-keycloak",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.3.0+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "3.9.0+dfsg-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "python-keycloak",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.3.1+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "python-keycloak",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.7.0+dfsg-1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "low",
"structured": {
"id": "UBUNTU-CVE-2026-1035",
"aliases": [
"UBUNTU-CVE-2026-1035"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-keycloak",
"purl": "pkg:deb/ubuntu/python-keycloak?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"3.3.0+dfsg-2",
"3.9.0+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-1035.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-keycloak",
"binary_version": "3.9.0+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-keycloak",
"purl": "pkg:deb/ubuntu/python-keycloak?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"5.3.1+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-1035.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-keycloak",
"binary_version": "5.3.1+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-keycloak",
"purl": "pkg:deb/ubuntu/python-keycloak?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"5.7.0+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-1035.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-keycloak",
"binary_version": "5.7.0+dfsg-1"
}
]
}
}
],
"modified": "2026-10-17T12:57:58.196718335Z",
"provider": "osv",
"upstream": [
"CVE-2026-1035"
],
"references": [
"https://ubuntu.com/security/CVE-2026-1035",
"https://www.cve.org/CVERecord?id=CVE-2026-1035",
"https://access.redhat.com/security/cve/CVE-2026-1035",
"https://bugzilla.redhat.com/show_bug.cgi?id=2430314"
]
},
"related_cves": [
{
"value": "CVE-2026-1035",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 357793,
"published_at": "2026-01-21T06:15:00+00:00"
}