Loading HuntDB...

Navigation to `chrome-extension://` origin (internal pages) from the web

Low
B
Brave Software
Submitted None
Reported by metnew

Vulnerability Details

Technical details and impact analysis

## Summary `http` and `https` pages are [disallowed from navigating](https://github.com/brave/muon/blob/master/atom/browser/extensions/atom_browser_client_extensions_part.cc#L289-L296) to `chrome-extension://` origin. However, `ftp` protocol isn't checked. Pages from `ftp:///` and `file:///` origin could navigate to `chrome-extension://` origin. ### Steps to reproduce: 1. Start ftp server (sample ftp server attached, `npm i ftpd && node ftp-server.js` 2. Open `ftp://localhost:7002/exploit.html` 3. Click "Go to payment settings" 4. `about:preferences#payments` page opens (`window.open`) ## Products affected Brave: 0.23.31 V8: 6.7.288.46 rev: 3148acef36dba0fce89108638bb27927c4937f90 Muon: 7.1.5 OS Release: 17.6.0 Update Channel: Release OS Architecture: x64 OS Platform: macOS Node.js: 7.9.0 Brave Sync: v1.4.2 libchromiumcontent: 67.0.3396.103 ## Impact Navigation to `chrome-extension://` should be forbidden, because it's a bad behavior which creates additional attack vectors. If some component(e.g., html file) inside an extension's folder is vulnerable to reflected XSS, then it's possible to navigate to this component from the web and execute arbitrary code in the context of this extension.

Report Details

Additional information and metadata

State

Closed

Substate

Resolved

Submitted