Skip to content
Heist/ feed
Back to feed
HighFix available

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

Type: advisorySources: OSV2 source records

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.

Products
github.com/jhaals/yopass
Affected versions
Not specified
Fixed versions
0.0.0-20260727191436-61e31ead04a4
CVEs
CVE-2026-107840
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 08:45 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 9 Oct 2026, 20:42 UTC

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.

osv:GHSA-6r69-c6wg-7g8m

github.com/jhaals/yopass

Fixed versions: 0.0.0-20260727191436-61e31ead04a4

Complete source record
{
  "id": "d7aaa6a578359e11cca3b1d9eb8eede79d2bfd3748c28a253c5193b39679d890",
  "url": "https://osv.dev/vulnerability/GHSA-6r69-c6wg-7g8m",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels",
    "summary": "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.",
    "evidence": "osv:GHSA-6r69-c6wg-7g8m",
    "products": [
      {
        "name": {
          "value": "github.com/jhaals/yopass",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "0.0.0-20260727191436-61e31ead04a4",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "GHSA-6r69-c6wg-7g8m",
      "aliases": [
        "CVE-2026-107840",
        "GHSA-6r69-c6wg-7g8m",
        "GO-2026-6720"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "0.0.0-20260727191436-61e31ead04a4"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/jhaals/yopass",
            "purl": "pkg:golang/github.com/jhaals/yopass",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-6r69-c6wg-7g8m/GHSA-6r69-c6wg-7g8m.json"
          }
        }
      ],
      "modified": "2026-10-19T21:41:22.334512920Z",
      "provider": "osv",
      "references": [
        "https://github.com/jhaals/yopass/security/advisories/GHSA-6r69-c6wg-7g8m",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-107840",
        "https://github.com/jhaals/yopass/pull/3773",
        "https://github.com/jhaals/yopass/commit/61e31ead04a4fc27ce80bed226af41c7c0426ccf",
        "https://github.com/jhaals/yopass/commit/78d0c14f7085048130199662a2ec8a18ec8d6ebb",
        "https://github.com/jhaals/yopass",
        "https://github.com/jhaals/yopass/releases/tag/14.7.0"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400"
        ],
        "severity": "HIGH",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-09T18:17:05Z",
        "github_reviewed_at": "2026-10-09T20:42:58Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-107840",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 376806,
  "published_at": "2026-10-09T20:42:58+00:00"
}

yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels in github.com/jhaals/yopass

core-osv · Original source

Published 19 Oct 2026, 21:08 UTC

yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels in github.com/jhaals/yopass

osv:GO-2026-6720

github.com/jhaals/yopass

Fixed versions: 0.0.0-20260727191436-61e31ead04a4

Complete source record
{
  "id": "8d0995a475c2f66bb44d9521cafe148d65507ddf8e5847f64152c86a6bc835f0",
  "url": "https://osv.dev/vulnerability/GO-2026-6720",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels in github.com/jhaals/yopass",
    "summary": "yopass Prometheus metrics middleware allows remote memory exhaustion through unbounded method labels in github.com/jhaals/yopass",
    "evidence": "osv:GO-2026-6720",
    "products": [
      {
        "name": {
          "value": "github.com/jhaals/yopass",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "0.0.0-20260727191436-61e31ead04a4",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "GO-2026-6720",
      "aliases": [
        "CVE-2026-107840",
        "GHSA-6r69-c6wg-7g8m",
        "GO-2026-6720"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "0.0.0-20260727191436-61e31ead04a4"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/jhaals/yopass",
            "purl": "pkg:golang/github.com/jhaals/yopass",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://vuln.go.dev/ID/GO-2026-6720.json"
          },
          "ecosystem_specific": {}
        }
      ],
      "modified": "2026-10-19T21:31:52.276950050Z",
      "provider": "osv",
      "references": [
        "https://github.com/jhaals/yopass/security/advisories/GHSA-6r69-c6wg-7g8m",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-107840",
        "https://github.com/jhaals/yopass/commit/61e31ead04a4fc27ce80bed226af41c7c0426ccf",
        "https://github.com/jhaals/yopass/commit/78d0c14f7085048130199662a2ec8a18ec8d6ebb",
        "https://github.com/jhaals/yopass/pull/3773",
        "https://github.com/jhaals/yopass/releases/tag/14.7.0"
      ],
      "provider_metadata": {
        "url": "https://pkg.go.dev/vuln/GO-2026-6720",
        "review_status": "UNREVIEWED"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-107840",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 376710,
  "published_at": "2026-10-19T21:08:26+00:00"
}