mcp-chrome-bridge (hangwin/mcp-chrome) <= 1.0.31 - CORS Origin Bypass (CSWSH)
| Reporter | Title | Published | Views | Family All 9 |
|---|---|---|---|---|
| CVE-2026-102878 | 30 Sep 202610:01 | – | circl | |
| CVE-2026-102878 | 29 Sep 202620:01 | – | cve | |
| CVE-2026-102878 mcp-chrome-bridge through 1.0.31 CORS Origin Bypass | 29 Sep 202620:01 | – | cvelist | |
| EUVD-2026-89413 | 29 Sep 202620:01 | – | euvd | |
| CVE-2026-102878 | 29 Sep 202620:01 | – | mend | |
| CVE-2026-102878 | 29 Sep 202620:17 | – | nvd | |
| PT-2026-102894 | 29 Sep 202600:00 | – | ptsecurity | |
| CVE-2026-102878: Origin Validation Error | 29 Sep 202600:00 | – | rapid7 | |
| CVE-2026-102878 mcp-chrome-bridge through 1.0.31 CORS Origin Bypass | 29 Sep 202620:01 | – | vulnrichment |
id: CVE-2026-102878
info:
name: mcp-chrome-bridge (hangwin/mcp-chrome) <= 1.0.31 - CORS Origin Bypass (CSWSH)
author: carfeii
severity: high
description: |
mcp-chrome-bridge <=1.0.31 uses origin.startsWith for CORS, so origins like http://127.0.0.1.evil.com are wrongly allowed, letting attackers bypass CORS and access the local server.
remediation: |
Update to the latest version beyond 1.0.31.
impact: |
Any website can bypass the server's CORS allowlist and make credentialed cross-origin requests to the local native-server, enabling unauthorized use of the exposed browser-automation tools (navigation, script execution, cookie/session access, screenshots) from any open browser tab.
reference:
- https://github.com/hangwin/mcp-chrome/issues/384
- https://github.com/hangwin/mcp-chrome/pull/383
- https://www.vulncheck.com/advisories/mcp-chrome-bridge-through-1.0.31-cors-origin-bypass
- https://nvd.nist.gov/vuln/detail/CVE-2026-102878
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
cvss-score: 8.1
cve-id: CVE-2026-102878
cwe-id: CWE-346
metadata:
verified: true
max-request: 2
vendor: hangwin
product: mcp-chrome-bridge
shodan-query: html:"Chrome MCP"
fofa-query: body="Chrome MCP"
tags: cve,cve2026,mcp-chrome,cors,cswsh,misconfig
flow: http(1) && http(2)
http:
- raw:
- |
GET /ping HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(tolower(body), "pong")'
condition: and
internal: true
- raw:
- |
GET /ping HTTP/1.1
Host: {{Hostname}}
Origin: {{cors_origin}}
payloads:
cors_origin:
- "http://127.0.0.1.{{rand_base(6)}}.com"
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(tolower(header), "access-control-allow-origin: {{tolower(cors_origin)}}")'
- 'contains(tolower(header), "access-control-allow-credentials: true")'
condition: and
# digest: 4a0a00473045022034e4d3261b19dba48d0e9429343eea701263fe949caddc08f47e10e2b92c4106022100b74a6c2585c8a5714b8b1553e1d450d5d1515ea3a249275501fa909d3665c285:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
15 Oct 2026 13:28Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.18.1
CVSS 48.6
EPSS0.00235
SSVC