CVE-2025-25199
Published: 12 February 2025
Summary
CVE-2025-25199 is a high-severity Missing Release of Memory after Effective Lifetime (CWE-401) vulnerability. Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Application or System Exploitation (T1499.004); ranked in the top 22.6% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-2 (Flaw Remediation) and RA-5 (Vulnerability Monitoring and Scanning).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly requires timely remediation of software flaws like the memory leak in go-crypto-winnative by applying the fixing commit or updated package versions.
Vulnerability scanning identifies deployments using vulnerable versions of the go-crypto-winnative package prior to exploitation.
Denial-of-service protections limit the effects of repeated TLS1PRF invocations causing memory exhaustion on affected Windows systems.
MITRE ATT&CK Enterprise TechniquesAI
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.
NVD Description
go-crypto-winnative Go crypto backend for Windows using Cryptography API: Next Generation (CNG). Prior to commit f49c8e1379ea4b147d5bff1b3be5b0ff45792e41, calls to `cng.TLS1PRF` don't release the key handle, producing a small memory leak every time. Commit f49c8e1379ea4b147d5bff1b3be5b0ff45792e41 contains a fix for the issue. The…
more
fix is included in versions 1.23.6-2 and 1.22.12-2 of the Microsoft build of go, as well as in the pseudoversion 0.0.0-20250211154640-f49c8e1379ea of the `github.com/microsoft/go-crypto-winnative` Go package.
Deeper analysisAI
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)