-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Detection of uBlock Origin in Chrome via web_accessible_resource timing side channel #1572
Comments
this attack does not seem to be possible in ff because it randomizes the extension ID for web_accessible_resources. If you would like PoC's taken down, please let me know. |
this technique circumvents the secret token (sort of?). you cannot read files from web_accessible_resources because you do not have the token, but you can detect the files presence using timing, thereby confirming the presence of uBlock origin |
It's not something that can be fixed, it's a browser-specific framework issue, best to report to Chromium devs. |
@gorhill yeah that's what i suspected 😞. are the web_accessible_resources required for uBlock to function (what exactly does it use them for?) the request is being blocked as soon as possible w/ chrome's APIs, correct? |
a "hacky" solution which might solve the problem could be to apply this guard filter
to every request rather than just |
It would be nice to know if you filed a bug on the chromium tracker. |
My bad, disregard that I could not reproduce on my side, I was silly and I forgot that my version of uBO was a locally installed one, not the one from the Chrome store. The PoC does work:
The goal is not to make it impossible to JS libraries to identify uBO specifically is present -- that itself is impossible -- the goal is to make it difficult enough. By Chromium extension framework design, sites are able to peek at an extension's [1] There might already be an issue opened in Chromium tracker for that. |
That can't work because an extension is not allowed to listen to another extension's |
Unfortunately, the flawed conclusions people are reaching because of this flawed tool are all over the place, including some spamming results from this pointless tools in uBO's own thread on Wilders Security despite advises to refrain from using the tool to evaluate content blockers.
@gorhill Sorry, if I'm not wrong, chromium does have |
It's MV3 syntax, can't be used for a MV2 extension. uBO Lite uses it. |
Oh I see |
Prerequisites
Description
It is easily possible to detect the presence of uBlock Origin in chrome by sending requests to
chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/web_accessible_resources/noop.html
and measuring how long the request takes.I don't know what uBlock Origin uses web_accessible_resources for, but if possible, they should be removed.
A specific URL where the issue occurs
POC Source Repo: https://github.com/arxenix/chrome-ublock-detection
direct POC link: https://arxenix.github.io/chrome-ublock-detection/
Steps to Reproduce
see POC link
Expected behavior:
A website should not be able to determine that uBlock origin is installed.
Actual behavior:
A website is able to determine that uBlock origin is installed.
Your environment
The text was updated successfully, but these errors were encountered: