{"id":"UBUNTU-CVE-2026-48525","details":"PyJWT is a JSON Web Token implementation in Python. From 2.8.0 to 2.12.1, when verifying detached JWS tokens using the unencoded-payload option (\"b64\": false, RFC 7797), PyJWT performs Base64URL decoding of the compact-serialization payload segment before enforcing the detached-payload rules. For b64=false, PyJWT later discards that decoded payload and replaces it with the caller-provided detached_payload. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces CPU work + memory allocations even if the signature is invalid. This creates an unauthenticated DoS vector against any endpoint that verifies detached JWS using PyJWT. This vulnerability is fixed in 2.13.0.","modified":"2026-06-03T11:26:16Z","published":"2026-05-28T16:16:00Z","upstream":["CVE-2026-48525"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-48525"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-48525"},{"type":"REPORT","url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39"}],"affected":[{"package":{"name":"pyjwt","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=esm-infra%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.0.0-0ubuntu1","1.3.0-1","1.3.0-1ubuntu0.1","1.3.0-1ubuntu0.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.3.0-1ubuntu0.1+esm1","binary_name":"python-jwt"},{"binary_name":"python3-jwt","binary_version":"1.3.0-1ubuntu0.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-1.1","1.5.3+ds1-1","1.5.3+ds1-1ubuntu0.1","1.5.3+ds1-1ubuntu0.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"python-jwt","binary_version":"1.5.3+ds1-1ubuntu0.1+esm1"},{"binary_name":"python3-jwt","binary_version":"1.5.3+ds1-1ubuntu0.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.7.0-2","1.7.1-1","1.7.1-2ubuntu1","1.7.1-2ubuntu2","1.7.1-2ubuntu2.1","1.7.1-2ubuntu2.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-jwt","binary_version":"1.7.1-2ubuntu2.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.7.1-2ubuntu2","2.1.0-1","2.3.0-1","2.3.0-1ubuntu0.1","2.3.0-1ubuntu0.2","2.3.0-1ubuntu0.3"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-jwt","binary_version":"2.3.0-1ubuntu0.3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.0-1","2.7.0-1ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.7.0-1ubuntu0.1","binary_name":"python3-jwt"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.1-2","2.10.1-2ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-jwt","binary_version":"2.10.1-2ubuntu0.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}},{"package":{"name":"pyjwt","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/pyjwt?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.1-2","2.10.1-3","2.10.1-3build1","2.10.1-4","2.10.1-4ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-jwt","binary_version":"2.10.1-4ubuntu1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48525.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"},{"type":"Ubuntu","score":"medium"}]}