{"id":"CVE-2026-116586","kind":"vulnerability","aliases":["CVE-2026-116586"],"related":[],"title":"Go JOSE: deeply nested JSON crashes apps that parse untrusted tokens","description":"Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. Prior to 4.1.5, parsing attacker-controlled JSON through go-jose allows deeply nested arrays or objects to exceed Go's stack limit. The resulting stack overflow crashes the application and permits denial of service in applications that parse untrusted JSON through go-jose. This issue is fixed in version 4.1.5.","summary":"go-jose, a Go library for JWE, JWS and JWT, overflows the stack when parsing attacker-controlled JSON with deeply nested arrays or objects. The resulting crash lets an attacker cause denial of service in applications that parse untrusted JSON through it.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["backend-services","go","jose","jwt","package"],"not_affected_if":["no-untrusted-json","pinned-4.1.5-or-later"],"how_to_check":"- Run `go list -m github.com/go-jose/go-jose/v4` in the project to see the go-jose version in use\n- Run `go list -m all | grep go-jose` to find indirect copies pulled in by other dependencies","fix":"- Upgrade go-jose to `4.1.5` or later with `go get github.com/go-jose/go-jose/v4@v4.1.5` then `go mod tidy`","status":"open","published_at":"2026-10-26T22:16:55+00:00","first_seen_at":"2026-10-26T22:25:33+00:00","triaged_at":"2026-10-26T22:27:49+00:00","updated_at":"2026-10-26T22:27:49+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-26T22:27:49Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade go-jose to `4.1.5` or later with `go get github.com/go-jose/go-jose/v4@v4.1.5` then `go mod tidy`","reach":"internet","title":"Go JOSE: deeply nested JSON crashes apps that parse untrusted tokens","impact":"low","summary":"go-jose, a Go library for JWE, JWS and JWT, overflows the stack when parsing attacker-controlled JSON with deeply nested arrays or objects. The resulting crash lets an attacker cause denial of service in applications that parse untrusted JSON through it.","category":"package","nicknames":[],"who_cares":["go","jwt","jose","backend-services"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Application process crashes from stack overflow, causing denial of service","analyst_note":"","how_to_check":"- Run `go list -m github.com/go-jose/go-jose/v4` in the project to see the go-jose version in use\n- Run `go list -m all | grep go-jose` to find indirect copies pulled in by other dependencies","needs_analyst":false,"not_affected_if":["no-untrusted-json","pinned-4.1.5-or-later"],"who_is_affected":"Applications that use go-jose before 4.1.5 to parse JSON an outside party controls, such as JWTs or JWE/JWS payloads received from clients. Services that only sign or parse tokens they generate themselves are less exposed, and the sources do not say whether an unauthenticated request reaches the parser.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000624,"input_tokens":3410,"output_tokens":566,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-116586':14A,17A '-2026':13A,16A '4.1.5':103C,153C 'allow':113C 'app':7A 'applic':62B,131C,138C 'array':48B,116C 'attack':42B,56B,106C 'attacker-control':41B,105C 'backend':19B 'backend-servic':18B 'caus':57B 'control':43B,107C 'crash':6A,53B,129C 'cve':12A,15A 'deepli':3A,46B,114C 'denial':58B,134C 'encrypt':78C,89C 'exceed':120C 'fix':150C 'go':1A,21B,26B,29B,67C,83C,111C,121C,145C 'go-jos':25B,110C,144C 'implement':71C 'includ':84C 'issu':148C 'javascript':74C 'jose':2A,22B,27B,68C,112C,146C 'json':5A,44B,66B,87C,91C,96C,108C,142C 'jwe':32B,90C 'jws':33B,94C 'jwt':23B,35B,99C 'let':54B 'librari':30B 'limit':124C 'nest':4A,47B,115C 'object':50B,75C,118C 'overflow':36B,128C 'packag':24B 'pars':9A,40B,64B,104C,140C 'permit':133C 'prior':101C 'provid':69C 'result':52B,126C 'servic':20B,60B,136C 'set':79C 'sign':76C 'signatur':93C 'stack':38B,123C,127C 'standard':81C,100C 'support':85C 'token':11A,98C 'untrust':10A,65B,141C 'version':152C 'web':88C,92C,97C","nicknames":[],"mitigations":[],"who_affected":"Applications that use go-jose before 4.1.5 to parse JSON an outside party controls, such as JWTs or JWE/JWS payloads received from clients. Services that only sign or parse tokens they generate themselves are less exposed, and the sources do not say whether an unauthenticated request reaches the parser.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T22:16:55+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116586","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116586","severity":null,"published_at":"2026-10-26T22:16:55+00:00","modified_at":"2026-10-26T22:16:55+00:00","first_seen_at":"2026-10-26T22:25:33+00:00","fetched_at":"2026-10-26T22:25:33+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}