For a few days now I'm checking various Chrome extensions code looking for vulnerabilities (see also
the first post of the series). There are many. Most of them due to lazy programming (ignoring even the
Google docs on the subject), some are more subtle, coming from poor design decisions.
As for the risk impact though, there are
catastrophic vulnerabilities. This is just a sample of what code is committed to
Chrome Web Store and can be downloaded as a Google Chrome extension.
How would you like an XSS on google.com?
Chrome extensions can alter the contents of a webpage you're navigating (if they have the permission for the URL). In web security, what is the worst thing you might do when altering HTML document on-the-fly? Of course,
XSS. Even if the page itself is totally safe from XSS, an addon might introduce it (it's similar to just entering
javascript:code()in address bar) and the page cannot possibly defend from it (
more or less).
Google documentation about Chrome extensions
warns about this exact threat. But, as it turns out, seeing is believing, so there you go. Let me tell you about some minor extension (196 users as of now, which is the only reason why I'm 0daying now) that allowed me to XSS Google.