{"id":"CVE-2026-102820","state":"PUBLISHED","title":"pageant: Out-of-bounds read / oversized allocation in `pageant` MemoryMap::read via a malicious Pageant agent (Windows)","description":"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.","publishedAt":"2026-09-29T18:18:43.297Z","updatedAt":"2026-09-30T20:11:08.453Z","severity":{"score":6.2,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["Eugeny russh","rust pageant"],"affected":[{"vendor":"Eugeny","product":"russh","versions":[{"version":"< 0.63.2","status":"affected"}]},{"vendor":"rust","product":"pageant","versions":[{"version":"< 0.2.3","status":"affected"}]}],"references":["https://github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm","https://github.com/Eugeny/russh/commit/5d566989ebabfdebfe6b33243d31765a0812260b","https://github.com/Eugeny/russh/releases/tag/v0.63.2"],"weaknesses":["CWE-125","CWE-789"],"ingestedAt":"2026-10-29T20:10:13.529Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/102xxx/CVE-2026-102820.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-102820","state":"PUBLISHED","datePublished":"2026-09-29T18:18:43.297Z","dateUpdated":"2026-09-30T20:11:08.453Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-09-29T17:25:25.264Z"},"containers":{"cna":{"title":"pageant: Out-of-bounds read / oversized allocation in `pageant` MemoryMap::read via a malicious Pageant agent (Windows)","descriptions":[{"lang":"en","value":"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":[{"vendor":"Eugeny","product":"russh","versions":[{"version":"< 0.63.2","status":"affected"}]},{"vendor":"rust","product":"pageant","versions":[{"version":"< 0.2.3","status":"affected"}]}],"references":[{"url":"https://github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm","name":"https://github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/Eugeny/russh/commit/5d566989ebabfdebfe6b33243d31765a0812260b","name":"https://github.com/Eugeny/russh/commit/5d566989ebabfdebfe6b33243d31765a0812260b","tags":["x_refsource_MISC"]},{"url":"https://github.com/Eugeny/russh/releases/tag/v0.63.2","name":"https://github.com/Eugeny/russh/releases/tag/v0.63.2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":6.2,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-125","lang":"en","description":"CWE-125: Out-of-bounds Read","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-789","lang":"en","description":"CWE-789: Memory Allocation with Excessive Size Value","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-09-29T18:18:43.297Z"},"source":{"advisory":"GHSA-g4mp-vgx3-xrvm","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/Eugeny/russh/security/advisories/GHSA-g4mp-vgx3-xrvm","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-30T20:11:00.619637Z","id":"CVE-2026-102820","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-30T20:11:08.453Z"}}]}}}