Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. pageant
  4. ›
  5. CVE-2026-102820

CVE-2026-102820: pageant: Out-of-bounds read / oversized allocation in `pageant` MemoryMap::read via a malicious Pageant agent (Windows)

September 30, 2026

MemoryMap::read in the pageant crate (part of the russh workspace, used by russh’s SSH-agent client on Windows via AgentClient::connect_pageant) copies a peer-controlled number of bytes out of an 8192-byte shared-memory view with no bounds check — unlike the sibling MemoryMap::write, which correctly rejects oversize access with Error::Overflow. The byte count comes straight from a u32 length prefix that the responding “Pageant” process writes into the shared mapping. A malicious local process that answers as the Pageant agent can therefore cause:

  • an out-of-bounds read past the 8 KiB view (access violation → process crash; or disclosure of adjacent process memory if the following page is committed)
  • an allocation of up to ~4 GiB from a single u32 (vec![0; n]).

This was reproduced end-to-end against the real, unmodified pageant crate (not a model) on x86_64-pc-windows-gnu under Wine; see “Proof of concept”.

References

  • github.com/Eugeny/russh/commit/5d566989ebabfdebfe6b33243d31765a0812260b
  • github.com/Eugeny/russh/releases/tag/v0.63.2
  • github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm
  • github.com/advisories/GHSA-g4mp-vgx3-xrvm
  • nvd.nist.gov/vuln/detail/CVE-2026-102820

Code Behaviors & Features

Detect and mitigate CVE-2026-102820 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 0.2.3

Fixed versions

  • 0.2.3

Solution

Upgrade to version 0.2.3 or above.

Impact 6.2 MEDIUM

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-125: Out-of-bounds Read
  • CWE-789: Memory Allocation with Excessive Size Value

Source file

cargo/pageant/CVE-2026-102820.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:33 +0000.