~ / search / GHSA-6r69-c6wg-7g8m

GHSA-6r69-c6wg-7g8m

yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels

Source: GitHub Advisory Database (reviewed) High CVE-2026-107840

Packages

EcosystemPackageAffectedFixed in
Go github.com/jhaals/yopass < 0.0.0-20260727191436-61e31ead04a4 0.0.0-20260727191436-61e31ead04a4

Details

As written in the advisory (Markdown source, shown as plain text).

The Prometheus metrics middleware in pkg/server/server.go used r.Method directly as a label value on request counter and duration histogram metrics. Since the mux catch-all route matches any HTTP method, an unauthenticated attacker can send requests with arbitrary method strings (e.g. curl -X "M1" http://host/), each creating new counter and histogram time series in the Prometheus registry. The registry's internal maps never evict entries. An attacker issuing requests with unique method values causes monotonic memory growth until the process is OOM-killed. Additionally, /metrics scrape latency degrades proportionally, eventually timing out and blinding monitoring. Remediation: Upgrade to 14.7.0 or later, which clamps the method label to a fixed allowlist (GET, POST, PUT, DELETE, OPTIONS, HEAD, CONNECT, TRACE) and maps everything else to other.

References

External links from the advisory. They lead to third-party sites.