CVE-2025-25199
Published: 12 February 2025
Description
Adversaries may exploit software vulnerabilities that can cause an application or system to crash and deny availability to users.
Security Summary
CVE-2025-25199 is a memory leak vulnerability in the go-crypto-winnative package, a Go cryptography backend for Windows that leverages the Cryptography API: Next Generation (CNG). In versions prior to commit f49c8e1379ea4b147d5bff1b3be5b0ff45792e41, calls to the cng.TLS1PRF function fail to release the key handle, resulting in a small memory leak with each invocation. This issue is classified under CWE-401 (Memory Leak) and carries a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), highlighting its potential for high availability impact.
The vulnerability can be exploited by unauthenticated remote attackers over the network with low complexity and no user interaction required. By repeatedly triggering the TLS1PRF function—such as through TLS handshake operations in affected applications—attackers can induce gradual memory exhaustion, leading to denial-of-service conditions on the targeted Windows system.
Mitigation is available via the fixing commit f49c8e1379ea4b147d5bff1b3be5b0ff45792e41, which properly releases the key handle. This patch is incorporated into Microsoft builds of Go versions 1.23.6-2 and 1.22.12-2, as well as pseudoversion 0.0.0-20250211154640-f49c8e1379ea of the github.com/microsoft/go-crypto-winnative package. Security practitioners should update to these versions and review dependencies using this library, per details in the GitHub security advisory GHSA-29c6-3hcj-89cf.
Details
- CWE(s)
MITRE ATT&CK Enterprise Techniques
Why these techniques?
The memory leak in TLS1PRF allows remote unauthenticated attackers to trigger repeated invocations via TLS handshakes, causing gradual memory exhaustion and denial of service on the endpoint, directly mapping to application/system exploitation for DoS.