russh: pageant: unbounded frame buffering on peer-controlled 4-byte length prefix (memory-exhaustion DoS)
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
pageant provides a PageantStream type that implements AsyncRead and AsyncWrite traits and can be used to communicate with a running Pageant instance. From 0.2.0 until 0.2.5, PageantStream::new in pageant/src/wmmessage.rs trusts a peer-controlled four-byte length prefix and buffers until len + 4 bytes are available without checking the fixed _AGENT_MAX_MSGLEN transport capacity. An application that bridges an SSH forwarded-agent channel to the raw stream can allow a malicious server to force large allocations or retain a partially filled frame, causing client memory exhaustion. This issue is fixed in version 0.2.5.
Text from CVE List
Affected versions 1
- russhaffected: >= 0.2.0, < 0.2.5CVE List