Skip to content
Heist/ feed
Back to feed
Medium

Arcane: Environment access token bypasses the admin-required authorization gate on `/api/debug/pprof`

Type: advisorySources: OSV

Arcane is an interface for managing Docker containers, images, networks, and volumes. Prior to 2.11.0, AuthMiddleware.managerAuth accepts X-Arcane-Agent-Token credentials and the environment-token branch calls next before the AdminRequired option is evaluated. An attacker with a valid X-Arcane-Agent-Token can request /api/debug/pprof/* through a route protected by WithAdminRequired because EnvironmentPermissionSet is installed and the request continues without checking IsGlobalAdmin. This exposes administrator-restricted Go pprof runtime and diagnostic information and may impose profiling overhead. This issue is fixed in version 2.11.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-96628
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 16:40 UTC · Revision 1

Source evidence

Arcane: Environment access token bypasses the admin-required authorization gate on `/api/debug/pprof`

core-osv · Original source

Published 16 Oct 2026, 21:10 UTC

Arcane is an interface for managing Docker containers, images, networks, and volumes. Prior to 2.11.0, AuthMiddleware.managerAuth accepts X-Arcane-Agent-Token credentials and the environment-token branch calls next before the AdminRequired option is evaluated. An attacker with a valid X-Arcane-Agent-Token can request /api/debug/pprof/* through a route protected by WithAdminRequired because EnvironmentPermissionSet is installed and the request continues without checking IsGlobalAdmin. This exposes administrator-restricted Go pprof runtime and diagnostic information and may impose profiling overhead. This issue is fixed in version 2.11.0.

osv:CVE-2026-96628
Complete source record
{
  "id": "ca21ba1bb2e6d47badf1802911d9a36c6b8fcbd87255e15a6ae453f76a144fd1",
  "url": "https://osv.dev/vulnerability/CVE-2026-96628",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Arcane: Environment access token bypasses the admin-required authorization gate on `/api/debug/pprof`",
    "summary": "Arcane is an interface for managing Docker containers, images, networks, and volumes. Prior to 2.11.0, AuthMiddleware.managerAuth accepts X-Arcane-Agent-Token credentials and the environment-token branch calls next before the AdminRequired option is evaluated. An attacker with a valid X-Arcane-Agent-Token can request /api/debug/pprof/* through a route protected by WithAdminRequired because EnvironmentPermissionSet is installed and the request continues without checking IsGlobalAdmin. This exposes administrator-restricted Go pprof runtime and diagnostic information and may impose profiling overhead. This issue is fixed in version 2.11.0.",
    "evidence": "osv:CVE-2026-96628",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-96628",
      "aliases": [
        "CVE-2026-96628",
        "GHSA-mp22-58ff-6fhr",
        "GO-2026-6806"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/getarcaneapp/arcane",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "02fa82e988ef9b0c43ae20055df2528f0b08c94c"
                },
                {
                  "fixed": "4fe4c7ed9483dff7d43e3c4bee6a92037ce886b4"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.11.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4fe4c7ed9483dff7d43e3c4bee6a92037ce886b4"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.10.2",
            "types/v2.10.2",
            "cli/v2.10.2",
            "backend/v2.10.2",
            "v2.10.1",
            "types/v2.10.1",
            "cli/v2.10.1",
            "backend/v2.10.1",
            "v2.10.0",
            "types/v2.10.0",
            "cli/v2.10.0",
            "backend/v2.10.0",
            "v2.9.0",
            "types/v2.9.0",
            "cli/v2.9.0",
            "backend/v2.9.0",
            "v2.8.1",
            "types/v2.8.1",
            "cli/v2.8.1",
            "backend/v2.8.1",
            "v2.8.0",
            "types/v2.8.0",
            "cli/v2.8.0",
            "backend/v2.8.0",
            "v2.7.0",
            "types/v2.7.0",
            "cli/v2.7.0",
            "backend/v2.7.0",
            "v2.6.0",
            "types/v2.6.0",
            "cli/v2.6.0",
            "backend/v2.6.0",
            "v2.5.0",
            "types/v2.5.0",
            "cli/v2.5.0",
            "backend/v2.5.0",
            "v2.4.0",
            "types/v2.4.0",
            "cli/v2.4.0",
            "backend/v2.4.0",
            "v2.3.2",
            "types/v2.3.2",
            "cli/v2.3.2",
            "backend/v2.3.2",
            "v2.3.1",
            "types/v2.3.1",
            "cli/v2.3.1",
            "backend/v2.3.1",
            "v2.3.0",
            "types/v2.3.0",
            "cli/v2.3.0",
            "backend/v2.3.0",
            "v2.2.0",
            "types/v2.2.0",
            "cli/v2.2.0",
            "backend/v2.2.0",
            "v2.1.0",
            "types/v2.1.0",
            "cli/v2.1.0",
            "backend/v2.1.0",
            "v2.0.3",
            "types/v2.0.3",
            "cli/v2.0.3",
            "backend/v2.0.3",
            "v2.0.2",
            "types/v2.0.2",
            "cli/v2.0.2",
            "backend/v2.0.2",
            "v2.0.1",
            "types/v2.0.1",
            "cli/v2.0.1",
            "backend/v2.0.1",
            "v2.0.0",
            "types/v2.0.0",
            "cli/v2.0.0",
            "backend/v2.0.0",
            "v1.20.0",
            "types/v1.20.0",
            "cli/v1.20.0",
            "backend/v1.20.0",
            "v1.19.5",
            "types/v1.19.5",
            "cli/v1.19.5",
            "backend/v1.19.5",
            "v1.19.4",
            "types/v1.19.4",
            "cli/v1.19.4",
            "backend/v1.19.4",
            "v1.19.3",
            "types/v1.19.3",
            "cli/v1.19.3",
            "backend/v1.19.3",
            "v1.19.2",
            "types/v1.19.2",
            "cli/v1.19.2",
            "backend/v1.19.2",
            "v1.19.1",
            "types/v1.19.1",
            "cli/v1.19.1",
            "backend/v1.19.1",
            "v1.19.0",
            "types/v1.19.0",
            "cli/v1.19.0",
            "backend/v1.19.0",
            "v1.18.1",
            "types/v1.18.1",
            "cli/v1.18.1",
            "backend/v1.18.1",
            "v1.18.0",
            "types/v1.18.0",
            "cli/v1.18.0",
            "backend/v1.18.0",
            "v1.17.4",
            "types/v1.17.4",
            "cli/v1.17.4",
            "backend/v1.17.4",
            "v1.17.3",
            "types/v1.17.3",
            "cli/v1.17.3",
            "backend/v1.17.3",
            "v1.17.2",
            "types/v1.17.2",
            "cli/v1.17.2",
            "backend/v1.17.2",
            "v1.17.1",
            "types/v1.17.1",
            "cli/v1.17.1",
            "backend/v1.17.1",
            "v1.17.0",
            "types/v1.17.0",
            "cli/v1.17.0",
            "backend/v1.17.0",
            "v1.16.3",
            "types/v1.16.3",
            "cli/v1.16.3",
            "backend/v1.16.3",
            "v1.16.2",
            "types/v1.16.2",
            "cli/v1.16.2",
            "backend/v1.16.2",
            "v1.16.1",
            "types/v1.16.1",
            "cli/v1.16.1",
            "backend/v1.16.1",
            "v1.16.0",
            "types/v1.16.0",
            "cli/v1.16.0",
            "backend/v1.16.0",
            "v1.15.3",
            "types/v1.15.3",
            "cli/v1.15.3",
            "backend/v1.15.3",
            "v1.15.2",
            "types/v1.15.2",
            "cli/v1.15.2",
            "v1.15.1",
            "types/v1.15.1",
            "cli/v1.15.1",
            "v1.15.0",
            "types/v1.15.0",
            "cli/v1.15.0",
            "v1.14.1",
            "v1.14.0",
            "v1.13.2",
            "v1.13.1",
            "v1.13.0",
            "v1.12.2",
            "v1.12.1",
            "v1.12.0",
            "v1.11.3",
            "v1.11.2",
            "v1.11.1",
            "v1.11.0",
            "v1.10.1",
            "v1.10.0",
            "v1.9.0",
            "v1.8.1",
            "v1.8.0",
            "v1.7.1",
            "v1.7.0",
            "v1.6.0",
            "v1.5.2",
            "v1.5.1",
            "v1.5.0",
            "v1.4.0",
            "v1.3.0",
            "v1.2.2",
            "v1.2.1",
            "v1.2.0",
            "v1.1.0",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0",
            "v0.15.1",
            "v0.15.0",
            "v0.14.0",
            "v0.13.1",
            "v0.13.0",
            "v0.12.0",
            "v0.11.1",
            "v0.11.0",
            "v0.10.0",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0",
            "v0.8.0",
            "v0.7.1",
            "v0.7.0",
            "v0.6.0",
            "v0.5.0",
            "v0.4.1",
            "v0.4.0",
            "v0.3.0",
            "v0.2.0",
            "v0.1.1",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-96628.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.294036132Z",
      "provider": "osv",
      "references": [
        "https://github.com/getarcaneapp/arcane/releases/tag/backend/v2.11.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96628.json",
        "https://github.com/getarcaneapp/arcane/security/advisories/GHSA-mp22-58ff-6fhr",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-96628",
        "https://github.com/getarcaneapp/arcane/commit/4fe4c7ed9483dff7d43e3c4bee6a92037ce886b4",
        "https://github.com/getarcaneapp/arcane/pull/3881"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-863"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96628.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-96628",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504826,
  "published_at": "2026-10-16T21:10:29.214+00:00"
}