{"id":"CVE-2026-61559","summary":"@zereight/mcp-gitlab Vulnerable to Server-Side Request Forgery","details":"`@zereight/mcp-gitlab` is a Model Context Protocol server for GitLab. Starting in version 0.0.1 and prior to version 2.1.27, when the environment variable `ENABLE_DYNAMIC_API_URL=true` is set, the server reads the `X-GitLab-API-URL` HTTP request header and uses it as the base URL for all outbound GitLab API calls made within that request. The server validates that the value is a well-formed URL (`new URL(dynamicApiUrl)`) but applies no allowlist or hostname restriction. The server then attaches the victim's `Private-Token` to every outbound fetch that uses the redirected URL. Any caller who can reach the HTTP transport can set `X-GitLab-API-URL` to an attacker-controlled host. The next GitLab API call the server makes delivers the victim's token to that host. Version 2.1.27 contains a patch.","aliases":["GHSA-2h44-8472-frjj"],"modified":"2026-09-18T03:30:31.327341214Z","published":"2026-09-15T20:58:41.639Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-918"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61559.json"},"references":[{"type":"WEB","url":"https://github.com/zereight/gitlab-mcp/releases/tag/v2.1.27"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61559.json"},{"type":"ADVISORY","url":"https://github.com/zereight/gitlab-mcp/security/advisories/GHSA-2h44-8472-frjj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61559"},{"type":"FIX","url":"https://github.com/zereight/gitlab-mcp/commit/6ffb4cc70706fd05b1ab80901676bc2998b6db6d"},{"type":"FIX","url":"https://github.com/zereight/gitlab-mcp/pull/625"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/zereight/gitlab-mcp","events":[{"introduced":"0"},{"fixed":"6ffb4cc70706fd05b1ab80901676bc2998b6db6d"},{"fixed":"b5b4c3370f8ef366d3e7a1ba43aebedc014f0b08"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0.0.1"},{"fixed":"2.1.27"}]}}],"versions":["v2.1.42","v2.1.41","v2.1.40","v2.1.39","v2.1.38","v2.1.37","v2.1.36","v2.1.35","v2.1.34","v2.1.33","v2.1.32","v2.1.31","v2.1.30","v2.1.29","v2.1.28","v2.1.27","v2.1.26","v2.1.25","v2.1.24","v2.1.23","v2.1.22","v2.1.21","v2.1.20","v2.1.19","v2.1.18","v2.1.17","v2.1.16","v2.1.15","v2.1.14","v2.1.13","v2.1.12","v2.1.11","v2.1.10","v2.1.9","v2.1.8","v2.1.7","v2.1.6","v2.1.5","v2.1.4","v2.1.3","v2.1.2","v2.1.1","v2.1.0","v2.0.36","v2.0.35","v2.0.34","v2.0.33","v2.0.32","v2.0.30","v2.0.28","v2.0.25","v2.0.24","v2.0.23","v2.0.22","v2.0.21","v2.0.20","v2.0.19","v2.0.18","v2.0.17","v2.0.16","v2.0.15","v2.0.14","v2.0.13","v2.0.12","v2.0.11","v2.0.9","v2.0.10","v2.0.7","v2.0.6","v2.0.5","v2.0.4","v2.0.3","v1.0.76","v1.0.73","v1.0.72","v","v1.0.65","v1.0.64","1.0.63","v1.0.63","1.0.62","1.0.60","v1.0.59","v1.0.57","v1.0.56","v1.0.54","v1.0.53","v1.0.52","v1.0.50","v1.0.48","v1.0.47","v1.0.46","v1.0.45","v1.0.42","v1.0.40","v1.0.39","v1.0.38","v1.0.37","v1.0.36","v1.0.34","1.0.32"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61559.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N"}]}