CVE-2026-102820
pageant provides a [PageantStream] type that implements [AsyncRead] and [AsyncWrite] traits and can be used to talk to a running Pageant instance.
Impact
pageant provides a [PageantStream] type that implements [AsyncRead] and [AsyncWrite] traits and can be used to talk to a running Pageant instance. Prior to pageant 0.2.3, the Windows pageant crate's pageant/src/wmmessage.rs MemoryMap::read function trusts a peer-controlled u32 response length supplied through the 8192-byte Pageant shared-memory mapping reached by AgentClient::connect_pageant. A local process that impersonates the Pageant window can make query_pageant_direct allocate up to approximately 4 GiB and copy beyond the mapped view, reliably crashing a russh client and conditionally exposing adjacent committed memory. This issue is fixed in pageant 0.2.3.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | pageant | <= 0.2.2 | 0.2.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-g4mp-vgx3-xrvm
- https://github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm
- https://nvd.nist.gov/vuln/detail/CVE-2026-102820
- https://github.com/Eugeny/russh/commit/5d566989ebabfdebfe6b33243d31765a0812260b
- https://github.com/Eugeny/russh/releases/tag/v0.63.2