Skip to content
Fencer Vulns
high 7.5

CVE-2025-27421 json

Goroutine Leak in Abacus SSE Implementation

published 2025-03-03 20 mo ago modified 2026-06-17 4 mo ago also GHSA-vh64-54px-qgf8 , GO-2025-3498 , EUVD-2025-5565

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.4%
EPSS 0.4% chance of exploitation in 30 days, percentile 35%
public exploits
0
none known

Summary

Abacus is a highly scalable and stateless counting API. A critical goroutine leak vulnerability has been identified in the Abacus server's Server-Sent Events (SSE) implementation. The issue occurs when clients disconnect from the /stream endpoint, as the server fails to properly clean up resources and terminate associated goroutines. This leads to resource exhaustion where the server continues running but eventually stops accepting new SSE connections while maintaining high memory usage. The vulnerability specifically involves improper channel cleanup in the event handling mechanism, causing goroutines to remain blocked indefinitely. This vulnerability is fixed in 1.4.0.

Patch / fix

  • go github.com/jasonlovesdoggo/abacus 0.0.0-20250302043802-898ff1204e11
  • govulncheck-vulndb openSUSE Tumbleweed 0.0.20250312T181707-1.1

opensuse advisories openSUSE-SU-2025:14889-1

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
20 mo ago

Exploit prediction

0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
go github.com/jasonlovesdoggo/abacus
<0.0.0-20250302043802-898ff1204e11
0.0.0-20250302043802-898ff1204e11

Affected products

  • JasonLovesDoggo abacus

Classification

Weakness
  • CWE-400 Uncontrolled Resource Consumption
  • CWE-772 Missing Release of Resource after Effective Lifetime

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.