{"items":[{"id":"NVI-00013810","kind":"vulnerability","title":"@zereight/mcp-gitlab Vulnerable to Server-Side Request Forgery","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-2h44-8472-frjj","CVE-2026-61559"],"plain_summary":"GitHub lists this reviewed advisory for @zereight/mcp-gitlab. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-258ff3a1401743ff6f81d2165276fb89"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-15T20:57:29.000Z","value":"9.6 critical","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-097ee5568a20a5c44171fca4fe4c652e"},{"kind":"CVSS","as_of":"2026-09-30T17:51:56.193Z","value":"9.6 CRITICAL (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-556fe95169d71203e47e5f9906252430"},{"kind":"EPSS","as_of":"2026-11-03T12:00:27.000Z","value":"0.426%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.36955. Missing scores are unknown.","source_id":"sr-258ff3a1401743ff6f81d2165276fb89"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-097ee5568a20a5c44171fca4fe4c652e","url":"https://github.com/advisories/GHSA-2h44-8472-frjj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-2h44-8472-frjj","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T19:09:30.244Z"},{"id":"sr-556fe95169d71203e47e5f9906252430","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61559","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-61559","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-08T15:05:24.474Z"},{"id":"sr-258ff3a1401743ff6f81d2165276fb89","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-61559","publisher":"FIRST EPSS","observed_at":"2026-11-03T17:44:07.789Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-097ee5568a20a5c44171fca4fe4c652e"],"technology":"@zereight/mcp-gitlab","known_exclusions":[],"conditions_summary":"# Server-Side Request Forgery via X-GitLab-API-URL Header Allows Credential Theft\n\n## Affected\n\n- **Repository:** `zereight/gitlab-mcp`\n- **Affected versions:** All versions through commit `74a8c83`\n- **Patched versions:** None at time of report\n\n## Severity\n\nHigh. CVSS v3.1 8.5 (`AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N`)\n\n## Description\n\nWhen the environment variable `ENABLE_DYNAMIC_API_URL=true` is set, the server\nreads the `X-GitLab-API-URL` HTTP request header and uses it as the base URL for\nall outbound GitLab API calls made within that request. The server validates that\nthe value is a well-formed URL (`new URL(dynamicApiUrl)`) but applies no\nallowlist or hostname restriction. The server then attaches the victim's\n`Private-Token` to every outbound fetch that uses the redirected URL.\n\nAny caller who can reach the HTTP transport can set `X-GitLab-API-URL` to an\nattacker-controlled host. The next GitLab API call the server makes delivers the\nvictim's token to that host.\n\nThe vulnerable code appears at two locations.\n\n**SSE handler (`index.ts:11541`):**\n\n```typescript\nconst dynamicApiUrl = req.headers[\"x-gitlab-api-url\"]?.trim();\nif (ENABLE_DYNAMIC_API_URL && dynamicApiUrl) {\n  apiUrl","public_affected_ranges":[">= 0.0.1, < 2.1.27"]}],"null_published_at":"2026-11-08T19:53:44.058Z","source_updated_at":"2026-09-15T20:57:29.000Z","source_disclosed_at":"2026-09-15T20:57:28.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-01T19:09:30.244Z"},{"id":"NVI-00013810","kind":"vulnerability","title":"@zereight/mcp-gitlab Vulnerable to Server-Side Request Forgery","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-2h44-8472-frjj","CVE-2026-61559"],"plain_summary":"GitHub lists this reviewed advisory for @zereight/mcp-gitlab. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-097ee5568a20a5c44171fca4fe4c652e"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-15T20:57:29.000Z","value":"9.6 critical","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-097ee5568a20a5c44171fca4fe4c652e"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-097ee5568a20a5c44171fca4fe4c652e","url":"https://github.com/advisories/GHSA-2h44-8472-frjj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-2h44-8472-frjj","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T19:09:30.244Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-097ee5568a20a5c44171fca4fe4c652e"],"technology":"@zereight/mcp-gitlab","known_exclusions":[],"conditions_summary":"# Server-Side Request Forgery via X-GitLab-API-URL Header Allows Credential Theft\n\n## Affected\n\n- **Repository:** `zereight/gitlab-mcp`\n- **Affected versions:** All versions through commit `74a8c83`\n- **Patched versions:** None at time of report\n\n## Severity\n\nHigh. CVSS v3.1 8.5 (`AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N`)\n\n## Description\n\nWhen the environment variable `ENABLE_DYNAMIC_API_URL=true` is set, the server\nreads the `X-GitLab-API-URL` HTTP request header and uses it as the base URL for\nall outbound GitLab API calls made within that request. The server validates that\nthe value is a well-formed URL (`new URL(dynamicApiUrl)`) but applies no\nallowlist or hostname restriction. The server then attaches the victim's\n`Private-Token` to every outbound fetch that uses the redirected URL.\n\nAny caller who can reach the HTTP transport can set `X-GitLab-API-URL` to an\nattacker-controlled host. The next GitLab API call the server makes delivers the\nvictim's token to that host.\n\nThe vulnerable code appears at two locations.\n\n**SSE handler (`index.ts:11541`):**\n\n```typescript\nconst dynamicApiUrl = req.headers[\"x-gitlab-api-url\"]?.trim();\nif (ENABLE_DYNAMIC_API_URL && dynamicApiUrl) {\n  apiUrl","public_affected_ranges":[">= 0.0.1, < 2.1.27"]}],"null_published_at":"2026-11-02T10:00:37.154Z","source_updated_at":"2026-09-15T20:57:29.000Z","source_disclosed_at":"2026-09-15T20:57:28.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T19:09:30.244Z"}],"next_cursor":null,"snapshot_revision":"42594"}