Google Chrome Reveals Extensions To Websites

Martin Brinkmann
Mar 18, 2012
Updated • Mar 18, 2012
Firefox, Google Chrome
|
5

I may be old-fashioned in this regard but I prefer websites and companies to know as little about me as possible, unless the information are used for a service that I make active use of. I do not mind Amazon knowing that I'm an adult male, as this is blocking recommendations and offers aimed at a female audience on the site.

Ideally, sites that I do not have an account with should know nothing about me. The Polish security researcher Krzysztof Kotowicz discovered a possibility to fingerprint Chrome add-ons with a few lines of JavaScript code.

The method used tests if certain extensions are installed in the browser, which is different from listing all installed extensions. Here are the technical details on how this can done:

Every addon has a manifest.json file. In http[s]:// page you can try to load a script cross-scheme from chrome-extension:// URL, in this case - the manifest file. You just need the addon unique id to put into URL. If the extension is installed, manifest will load and onload event will fire. If not - onerror event is there for you.

You may still remember the CSS History Leak issue were a list of popular web addresses was used on websites to find out if a visitor did visit those sites in the past. The principle is the same, only the execution is different.

A proof-of-concept page has been created that Chrome users can visit for a demonstration. Chrome users without extensions installed, or other browser users, are not affected by this at all.

This has two implications. First a privacy one, as websites can use the information for a variety of purposes. They can for instance test if an adblocker is installed, or social networking, shopping or pregnancy extensions. Security is the other one. Malicious websites could check if add-ons with known vulnerabilities are installed that are no longer maintained by the author.

According to information posted in the comment section, add-ons installed from a custom-packed extension file or that are loaded unpacked are not recognized by the script.

It appears that Firefox is also leaking out information in this regard. Blocking JavaScript code prevents this from happening.

Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. ilev said on March 18, 2012 at 6:33 pm
    Reply

    This is old news and is being done for ages. Just try http://detectmybrowser.com/

    1. Martin Brinkmann said on March 18, 2012 at 6:35 pm
      Reply

      This appears to list plug-ins, but not extensions?

      1. ilev said on March 18, 2012 at 7:59 pm
        Reply

        :-)

        You are right.

        Google has outlines how a web site can detect Chrome extensions .

        Detecting Google Chrome Browser Extensions :

        http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

  2. insanelyapple said on March 18, 2012 at 12:35 pm
    Reply

    No, you arent old-fashioned but much more intelligent than others. Sometimes i cant believe how easily people accepted giving all personal informations to big corporations, companies and how they dont care what they gather about us; all in the name of neatness.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.