CVE-2026-33544
Full vulnerability record from the local CVENow database.
Description
Tinyauth is an authentication and authorization server. Prior to version 5.0.5, all three OAuth service implementations (GenericOAuthService, GithubOAuthService, GoogleOAuthService) store PKCE verifiers and access tokens as mutable struct fields on singleton instances shared across all concurrent requests. When two users initiate OAuth login for the same provider concurrently, a race condition between VerifyCode() and Userinfo() causes one user to receive a session with the other user's identity. This issue has been patched in version 5.0.5.
Severity
HIGH
CVSS score
7.7
(v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-02 15:16:39.553000
Last modified
2026-10-26 22:10:00.163000
View original CVE JSON
{
"id": "CVE-2026-33544",
"sourceIdentifier": "[email protected]",
"published": "2026-04-02T15:16:39.553",
"lastModified": "2026-10-26T22:10:00.163",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Tinyauth is an authentication and authorization server. Prior to version 5.0.5, all three OAuth service implementations (GenericOAuthService, GithubOAuthService, GoogleOAuthService) store PKCE verifiers and access tokens as mutable struct fields on singleton instances shared across all concurrent requests. When two users initiate OAuth login for the same provider concurrently, a race condition between VerifyCode() and Userinfo() causes one user to receive a session with the other user's identity. This issue has been patched in version 5.0.5."
},
{
"lang": "es",
"value": "Tinyauth es un servidor de autenticación y autorización. Antes de la versión 5.0.5, las tres implementaciones del servicio OAuth (GenericOAuthService, GithubOAuthService, GoogleOAuthService) almacenan verificadores PKCE y tokens de acceso como campos de estructura mutables en instancias singleton compartidas entre todas las solicitudes concurrentes. Cuando dos usuarios inician sesión OAuth para el mismo proveedor de forma concurrente, una condición de carrera entre VerifyCode() y Userinfo() hace que un usuario reciba una sesión con la identidad del otro usuario. Este problema ha sido parcheado en la versión 5.0.5."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "steveiliop56",
"product": "tinyauth",
"versions": [
{
"version": "< 5.0.5",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N",
"baseScore": 7.7,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 1.3,
"impactScore": 5.8
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-03T18:23:11.795622Z",
"id": "CVE-2026-33544",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-362"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:tinyauth:tinyauth:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.0.5",
"matchCriteriaId": "4087737A-5C88-47C1-BD17-FFAF32802EA6"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/steveiliop56/tinyauth/commit/f26c2171610d5c2dfbba2edb6ccd39490e349803",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/steveiliop56/tinyauth/releases/tag/v5.0.5",
"source": "[email protected]",
"tags": [
"Product",
"Release Notes"
]
},
{
"url": "https://github.com/steveiliop56/tinyauth/security/advisories/GHSA-9q5m-jfc4-wc92",
"source": "[email protected]",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
}
]
}