CVE intelligence and bounded remediation
CVE-2025-59050 — Greenshot is an open source Windows screenshot utility
Greenshot is an open source Windows screenshot utility. Greenshot 1.3.300 and earlier deserializes attacker-controlled data received in a WM_COPYDATA message using BinaryFormatter.Deserialize without prior validation or authentication, allowing a local process at the same integrity level to trigger arbitrary code execution inside the Greenshot process. The vulnerable logic resides in a WinForms WndProc handler for WM_COPYDATA (message 74) that copies the supplied bytes into a MemoryStream and invokes BinaryFormatter.Deserialize, and only afterward checks whether the specified channel is authorized. Because the authorization check occurs after deserialization, any gadget chain embedded in the serialized payload executes regardless of channel membership. A local attacker who can send WM_COPYDATA to the Greenshot main window can achieve in-process code execution, which may aid evasion of application control policies by running payloads within the trusted, signed Greenshot.exe process. This issue is fixed in version 1.3.301. No known workarounds exist.
- Severity
- High
- CVSS
- 8.4 (3.1)
- Published
- 2025-09-16
- CISA KEV
- Not currently listed
- Ecosystem
- windows/system
- Weaknesses
- CWE-502
Affected products
- getgreenshot / greenshot
Matched remediation archetype
Unsafe deserialization and object reconstruction
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Inventory serialization formats accepted from requests, queues, caches, files, cookies, and cross-service messages.
- Trace whether untrusted input can select classes, types, callbacks, constructors, or object hooks during decoding.
- Identify signing, schema validation, trust-boundary, and compatibility settings for each decoder.
Remediate safely
- Replace native object deserialization with a data-only format and explicit schema validation.
- If replacement is not immediate, use a safe decoder with a minimal type allowlist and disable polymorphic or executable hooks.
- Update the affected library and add inert tests for unknown types, extra fields, malformed nesting, and unsigned data.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.