{"id":"CVE-2026-77403","kind":"vulnerability","aliases":["CVE-2026-77403","GHSA-xwwf-m8fg-p9q2","GO-2026-6503"],"related":[],"title":"RabbitMQ amqp091-go: Denial of Service via Sub-Spec Frame Size Negotiation in github.com/rabbitmq/amqp091-go","description":"RabbitMQ amqp091-go is a Go AMQP 0.9.1 client. Prior to 1.13.0, Connection.openTune in connection.go accepts a server-advertised FrameMax below the AMQP frameMinSize value of 4096 bytes because the connection negotiation loop does not enforce the protocol minimum. A malicious or compromised AMQP broker can therefore advertise an extremely small FrameMax, causing later client publications to be fragmented into excessive numbers of frames and write operations. This can consume CPU and stall the client or its host. This issue is fixed in version 1.13.0.","summary":"A Go AMQP 0.9.1 client accepts a FrameMax value below the protocol minimum of 4096 bytes from the broker during connection setup. A malicious or compromised broker can make the client fragment every publish into a huge number of tiny frames, burning CPU and stalling the client or its host.","severity":"high","cvss":8.9,"epss":0.00524,"exploited":false,"exploited_at":null,"products":[{"name":"github.com/rabbitmq/amqp091-go","fixed":["1.13.0"],"affected":"< 1.13.0","ecosystem":"go"}],"ecosystems":["go"],"tags":["amqp","go","package","rabbitmq"],"not_affected_if":["no-untrusted-broker"],"how_to_check":"Check go.mod or go.sum for github.com/rabbitmq/amqp091-go with a version below 1.13.0.","fix":"Upgrade github.com/rabbitmq/amqp091-go to 1.13.0 or later.","status":"open","published_at":"2026-09-16T15:17:46+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T21:43:51+00:00","updated_at":"2026-10-23T21:43:51+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T21:43:51Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade github.com/rabbitmq/amqp091-go to 1.13.0 or later.\nunknown","reach":"network","impact":"low","summary":"A Go AMQP 0.9.1 client accepts a FrameMax value below the protocol minimum of 4096 bytes from the broker during connection setup. A malicious or compromised broker can make the client fragment every publish into a huge number of tiny frames, burning CPU and stalling the client or its host.","category":"package","who_cares":["go","rabbitmq","amqp"],"confidence":0.8,"needs_auth":"unknown","worst_case":"Malicious broker can exhaust client CPU and stall the host","analyst_note":"","how_to_check":"Check go.mod or go.sum for github.com/rabbitmq/amqp091-go with a version below 1.13.0.\nunknown","needs_analyst":false,"not_affected_if":["no-untrusted-broker"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.000485,"input_tokens":3045,"output_tokens":360,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':20A,28A,31A '-6503':29A '-77403':21A,32A '/rabbitmq/amqp091-go':18A,35A '0.9.1':43B,98C '1.13.0':102C,176C '4096':54B,118C 'accept':45B,106C 'advertis':110C,139C 'amqp':36B,42B,97C,114C,135C 'amqp091':3A,92C 'amqp091-go':2A,91C 'broker':58B,66B,136C 'burn':81B 'byte':55B,119C 'caus':144C 'client':44B,70B,86B,99C,146C,166C 'compromis':65B,134C 'connect':60B,122C 'connection.go':105C 'connection.opentune':103C 'consum':161C 'cpu':82B,162C 'cve':19A,30A 'denial':5A 'enforc':127C 'everi':72B 'excess':152C 'extrem':141C 'fix':173C 'fragment':71B,150C 'frame':12A,80B,155C 'framemax':47B,111C,143C 'framemins':115C 'ghsa':23A 'ghsa-xwwf-m8fg-p9q2':22A 'github.com':17A,34A 'github.com/rabbitmq/amqp091-go':16A,33A 'go':4A,27A,37B,41B,93C,96C 'host':89B,169C 'huge':76B 'issu':171C 'later':145C 'loop':124C 'm8fg':25A 'make':68B 'malici':63B,132C 'minimum':52B,130C 'negoti':14A,123C 'number':77B,153C 'oper':158C 'p9q2':26A 'packag':38B 'prior':100C 'protocol':51B,129C 'public':147C 'publish':73B 'rabbitmq':1A,39B,90C 'server':109C 'server-advertis':108C 'servic':7A 'setup':61B 'size':13A 'small':142C 'spec':11A 'stall':84B,164C 'sub':10A 'sub-spec':9A 'therefor':138C 'tini':79B 'valu':48B,116C 'version':175C 'via':8A 'write':157C 'xwwf':24A","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-16T15:17:46+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/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":"govuln","external_id":"GO-2026-6503","url":"https://pkg.go.dev/vuln/GO-2026-6503","severity":null,"published_at":"2026-10-01T20:23:56+00:00","modified_at":"2026-10-01T20:23:56+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-77403","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-77403","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-77403","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77403","severity":null,"published_at":"2026-09-16T15:17:46+00:00","modified_at":"2026-09-23T18:19:19+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+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"}