{"id":"CVE-2026-34052","aliases":["GHSA-8mxq-7xr7-2fxj","PYSEC-2026-2533"],"title":"LTI JupyterHub Authenticator: Unbounded Memory Growth via Nonce Storage (Denial of Service)","summary":"LTI JupyterHub Authenticator: Unbounded Memory Growth via Nonce Storage (Denial of Service)","severity":"medium","cvss":5.9,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","vendor":"jupyterhub-ltiauthenticator","product":"jupyterhub-ltiauthenticator","ecosystem":"pip","affected":["jupyterhub-ltiauthenticator < 1.6.3"],"patched":["jupyterhub-ltiauthenticator 1.6.3"],"published":"2026-04-03","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:51:01.296535015Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-8mxq-7xr7-2fxj","references":[{"url":"https://github.com/jupyterhub/ltiauthenticator/security/advisories/GHSA-8mxq-7xr7-2fxj"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-34052"},{"url":"https://github.com/jupyterhub/ltiauthenticator"},{"url":"https://github.com/jupyterhub/ltiauthenticator/releases/tag/1.6.3"}],"tags":["osv","pip"],"epss":0.00329,"epssPercentile":0.26239,"ingestedAt":"2026-07-13T18:57:55.196Z","slug":"CVE-2026-34052","body":"## Overview\n\n## Summary\n\nThe LTI 1.1 validator stores OAuth nonces in a class-level dictionary that grows without bounds. Nonces are added before signature validation, so an attacker with knowledge of a valid consumer key can send repeated requests with unique nonces to gradually exhaust server memory, causing a denial of service.\n\n## Patches\n\n- upgrade jupyterhub-litauthenticator to 1.6.3\n\n## Affected packages\n\n- `jupyterhub-ltiauthenticator < 1.6.3`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `jupyterhub-ltiauthenticator 1.6.3`","depth":"sunlit","depthScore":33,"depthScoreParts":{"impact":32.5,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}