logoalt Hacker News

lapcatyesterday at 8:19 PM7 repliesview on HN

[removed]


Replies

chocolatkeyyesterday at 8:36 PM

That’s incorrect, it’s trying to load an asset (hardcoded unique per-extension path) for each extension, there is a huge list of these in the source code: https://raw.githubusercontent.com/mdp/linkedin-extension-fin...

ronsoryesterday at 8:22 PM

This is a security vulnerability and should be patched. Sorry, LinkedIn.

(Alternatively extension developers can modify their extensions to block these requests!)

show 3 replies
jsheardyesterday at 8:35 PM

Looks to me like LinkedIn is fetching chrome-extension://{extension id}/{known filename} and seeing if it succeeds, not pinging the web store.

Should be patched nonetheless though, that's a pretty obscene fingerprinting vector.

show 1 reply
cobertosyesterday at 8:23 PM

Wouldn't that mean 2900 requests from fingerprint.js??

show 1 reply
halaproyesterday at 8:30 PM

If this is true, it's insane that this would work:

- why does CWS respond to cross-site requests?

- why is chrome sending the credentials (or equivalent) in these requests?

- why is the button enabled server-side and not via JS? Google must be confident in knowing the exact and latest state of your installed extensions enough to store it on their servers, I guess

show 1 reply
usefulposteryesterday at 8:34 PM

Isn't it enumerating web_accessible_resources? Below static collectFeatures(e, t) there is a mapping of extension IDs to files in the const r (Minified JS, obviously.)

Edit: Confirmed. It's not pinging the Chrome Web Store. https://blog.castle.io/detecting-browser-extensions-for-bot-...