CVE-2026-102820: pageant out-of-bounds read in Windows shared-memory message handler

CVE-2026-102820 · Severity: medium · CVSS 6.2 · Published 2026-09-29

The pageant SSH agent library for Windows contains a flaw in how it reads responses from the Pageant window service. A local attacker who can impersonate the Pageant window can send malicious messages that cause the library to allocate up to 4 GB of memory and read beyond valid boundaries, crashing SSH clients that use the library and potentially leaking sensitive data from memory.

Technologies: Eugeny Russh. Vendors: crates.io, Eugeny.

Quick answers

Is CVE-2026-102820 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-102820 being exploited in the wild.
How severe is CVE-2026-102820?
Medium severity, with a CVSS score of 6.2, published 29 September 2026.
Which products and versions are affected?
pageant (crates.io) <= 0.2.2, SEMVER:introduced=0,fixed=0.2.3; Eugeny Pageant before 0.2.3; Eugeny Russh before 0.63.2.
Is there a fix for CVE-2026-102820?
Yes. pageant (crates.io): upgrade to 0.2.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-102820 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-102820?
Check whether you run pageant (crates.io), Eugeny Pageant or Eugeny Russh at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pageant (crates.io): upgrade to 0.2.3 or later
    cargo update -p pageant

Technical details

The vulnerability exists in pageant/src/wmmessage.rs MemoryMap::read function, which trusts a peer-controlled u32 response length from the 8192-byte Pageant shared-memory mapping without proper bounds validation. A local process impersonating the Pageant window can trigger oversized allocations and out-of-bounds reads via query_pageant_direct. The flaw affects russh versions before 0.63.2 / pageant before 0.2.3 and requires local network access and the ability to create a window matching Pageant's name.

Affected products

  • Eugeny russh before 0.63.2
  • Eugeny pageant before 0.2.3

Identifiers

  • CVE-2026-102820
  • GHSA-g4mp-vgx3-xrvm

Timeline

  • 2026-09-29: disclosed
  • 2026-09-29: patched: pageant 0.2.3 and russh 0.63.2 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.