New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Jan 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Security



Sign in to add a comment
link

Issue 169632: Security: extensions can silently gain file: host permissions via permissions API

Reported by kalman@chromium.org, Jan 12 2013 Project Member

Issue description

This template is ONLY for reporting security bugs. Please use a different
template for other types of bug reports.

Please see the following link for instructions on filing security bugs:
http://www.chromium.org/Home/chromium-security/reporting-security-bugs


VULNERABILITY DETAILS
When you install an extension, there are warnings about host permissions. However, by design there aren't any for file: permissions - these are handled via a checkbox on the extension settings page.

The same goes for the permissions API, however, the API implementation doesn't respect this checkbox value, so silently allows it.

VERSION
Chrome Version: all (for about a year or so)
Operating System: all

REPRODUCTION CASE
The attached extension demonstrates the bug. On installing, note that it doesn't have any host permission warnings (just "your tabs and browsing history", the tabs API warning). Go to a file: URL and click the browser action. Note no security warning of any kind. Open dev console, note the script running there.
 
script.js
233 bytes View Download
manifest.json
241 bytes View Download
background.js
508 bytes View Download

Comment 1 by kalman@chromium.org, Jan 12 2013

(and also note the "allow file access" checkbox on the extension settings page isn't checked)

Comment 2 by bugdroid1@chromium.org, Jan 15 2013

Project Member
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=176853

------------------------------------------------------------------------
r176853 | kalman@chromium.org | 2013-01-15T08:32:32.006855Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_no/manifest.json?r1=176853&r2=176852&pathrev=176853
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_yes/background.js?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/test_extension_system.cc?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_system.cc?r1=176853&r2=176852&pathrev=176853
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_no?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/test_extension_system.h?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_system.h?r1=176853&r2=176852&pathrev=176853
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_yes/manifest.json?r1=176853&r2=176852&pathrev=176853
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_yes?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/permissions/permissions_api.cc?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/permissions/permissions_apitest.cc?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc?r1=176853&r2=176852&pathrev=176853
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/permissions/file_access_no/background.js?r1=176853&r2=176852&pathrev=176853
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/api/permissions/permissions_api_helpers.h?r1=176853&r2=176852&pathrev=176853

Check prefs before allowing extension file access in the permissions API.


R=mpcomplete@chromium.org
BUG= 169632 


Review URL: https://chromiumcodereview.appspot.com/11884008
------------------------------------------------------------------------

Comment 3 by kalman@chromium.org, Jan 15 2013

Status: Fixed
Should this be merged anywhere?

Comment 4 by infe...@chromium.org, Jan 15 2013

Cc: mea...@chromium.org
Labels: -Restrict-View-SecurityTeam -Pri-0 Restrict-View-SecurityNotify Pri-1 Merge-Approved
Mustafa, can you help to gauge the bug severity and then we can decide which branches to merge this on.

Comment 5 by mea...@chromium.org, Jan 15 2013

Labels: SecSeverity-Low
One thing preventing any extension to exploit this is that the optional permission request is only given on user gesture.

Assigning severity low because requires user interaction.

Comment 6 by kalman@chromium.org, Jan 15 2013

It doesn't require user action in this specific case, see the repro steps.

Comment 7 by mea...@chromium.org, Jan 15 2013

Sorry, I should have said "user gesture". chrome.permissions.request requires user gesture, right? It doesn't seem to be possible to request "file:///*" permission directly from background.js without initializing the browser action by clicking.

Comment 8 by kalman@chromium.org, Jan 15 2013

Ah, right. Yeah I was testing it with a browser action. Makes sense.

Comment 9 by scarybea...@gmail.com, Jan 17 2013

Labels: -Merge-Approved Release-0 Mstone-26
Given that this is a big change and a low severity, maybe we can just let the fix roll into M26?

Comment 10 by kalman@chromium.org, Jan 17 2013

fine with me

Comment 11 by bugdroid1@chromium.org, Mar 10 2013

Project Member
Labels: -Type-Security -Area-Internals -Feature-Extensions -SecSeverity-Low -Mstone-26 Cr-Platform-Extensions M-26 Security-Severity-Low Cr-Internals Type-Bug-Security

Comment 12 by bugdroid1@chromium.org, Mar 21 2013

Project Member
Labels: -Security-Severity-Low Security_Severity-Low

Comment 13 by scarybea...@gmail.com, Mar 23 2013

Labels: CVE-2013-0924

Comment 14 by jsc...@chromium.org, Nov 18 2013

Labels: -Restrict-View-SecurityNotify
Bulk release of old security bug reports.

Comment 15 by sheriffbot@chromium.org, Jun 14 2016

Project Member
Labels: -release-0
This bug is a regression and does not impact stable. Removing incorrectly added Release- labels.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 16 by sheriffbot@chromium.org, Oct 1 2016

Project Member
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 17 by sheriffbot@chromium.org, Oct 2 2016

Project Member
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 18 by mbarbe...@chromium.org, Oct 2 2016

Labels: allpublic

Comment 19 by awhalley@chromium.org, Apr 25 2018

Labels: CVE_description-submitted

Sign in to add a comment