{"id":"CVE-2026-31814","aliases":["GHSA-4w32-2493-32g7"],"url":"https://o3.security/vulnerability/CVE-2026-31814","summary":"Yamux remote Panic via malformed WindowUpdate credit","details":"### Sumary\nThe Rust implementation of Yamux accepts `WindowUpdate` credit values from the remote peer and applies them to per-stream send-window state.  \nA specially crafted `WindowUpdate` can cause arithmetic overflow in send-window accounting, which triggers a panic in the connection state machine. This is remotely reachable over a normal network connection and does not require authentication.\n#### Attack Scenario  \nAn attacker that can establish a Yamux session with a target node can crash the target by sending two validly encoded Yamux frames:\n1. Open a stream (e.g. DATA + SYN) so the stream exists with initial send-window state (`DEFAULT_CREDIT`).\n2. Send a WindowUpdate on that stream with a very large credit value (e.g. 0xFFFF_0000) such that adding credit to the current send-window overflows u32.\n### Impact\nRemote unauthenticated denial of service.  \nAn attacker can repeatedly trigger panics by reconnecting and replaying the crafted frame sequence.\n### Patches\nUsers should upgrade to `yamux` `v0.13.9`\n\nThis vulnerability was originally submitted by @revofusion to the Ethereum Foundation bug bounty program","published":"2026-03-13T19:19:41.879Z","modified":"2026-04-10T05:42:09.089537Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"yamux","fixedVersion":"0.13.9"}],"fix":{"url":"https://github.com/libp2p/rust-yamux/pull/221","label":"libp2p/rust-yamux#221"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31814.json"},{"type":"ADVISORY","url":"https://github.com/libp2p/rust-yamux/security/advisories/GHSA-4w32-2493-32g7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31814"},{"type":"WEB","url":"https://github.com/libp2p/rust-yamux/pull/221"},{"type":"WEB","url":"https://github.com/libp2p/rust-yamux/commit/b1aae09d60c0bd6a5915a5448f4e8cbc5174db53"},{"type":"PACKAGE","url":"https://github.com/libp2p/rust-yamux"},{"type":"WEB","url":"https://github.com/libp2p/rust-yamux/releases/tag/yamux-v0.13.9"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-04-10T05:42:09.089537Z"}}