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

Issue 606216 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 464963
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Security



Sign in to add a comment

Security: IntranetRedirectDetector requests send network credentials

Reported by fuzzio...@gmail.com, Apr 25 2016

Issue description

VULNERABILITY DETAILS

Google Chrome issues random URL requests every once in a while. While not a vulnerability itself (https://productforums.google.com/forum/#!topic/chrome/hl0Knv7p4-4), those requests are being accompanied with NetNTLMv2 credentials without prompting end-user. This leads to scenario where if someone on the internal network running tool such as Responder.py, an attacker is able to capture aforementioned netntlm credentials with no user interaction required. 
As an example, Firefox prompts user for entering their credentials, thus mitigating the vulnerability.
This poses a huge security risk on the networks for users that use Chrome Browser, because no user interaction is required to capture network credentials with default system configuration. 

VERSION
All versions including Canary.
Operating System: Windows 7/Windows 8/ Windows 10. Haven't tested on Windows XP/2003, other OS.

REPRODUCTION CASE
I've attached reproduction of bug with Responder.py running on my VM. Once the user opens Chrome Browser, random NBT-NS requests are being issued without notifying a user. Also, end user is not prompted to enter his network credentials but the credentials are sent automatically. 
I also attached a screenshot with random URL entered into Firefox Browser (http://test2), Responder.py replying to the request and Firefox prompting user to enter his credentials.

Best regards,
Alex

 
firefox_behaviour.png
209 KB View Download

Comment 1 by fuzzio...@gmail.com, Apr 25 2016

chrome_bug.png
284 KB View Download

Comment 2 by vakh@chromium.org, Apr 25 2016

Cc: jochen@chromium.org
Components: Internals Privacy
Owner: pkasting@chromium.org
pkasting@ -- this looks quite similar to 47262 so assigning to you to comment.
If a fix is needed, please feel free to assign it to the rightful owner, or assign it back to me.

Comment 3 by vakh@chromium.org, Apr 25 2016

Labels: Security_Impact-Stable
Project Member

Comment 4 by ClusterFuzz, Apr 25 2016

Status: Assigned (was: Unconfirmed)
Summary: Security: IntranetRedirectDetector requests send network credentials (was: Security: Chrome issues random URL requests; supplies network credentials at the same time, without prompting end user.)
Maybe we need to 'or' in the DO_NOT_SEND_AUTH_DATA flag when we tell the URLFetcher to try to retrieve the fake target hostnames?
https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/intranet_redirect_detector.cc&sq=package:chromium&l=92

It's not clear how big a vulnerability this is, because an attacker in a position to respond to these challenges is likely in a good position to inject a plainhostname reference into any insecure HTML the victim downloads subsequently.

Comment 6 Deleted

Comment 7 by fuzzio...@gmail.com, Apr 26 2016

Some additional clarification from me.


The problem with Chrome is that IntranetRedirectDetector removes the necessity to perform MiTM / trick user to click on the plainhostname reference, which is the case with IE. 

1. DNS lookup for plainhostname URL fails
2. NBT-NS queries are being issued (default system configuration)
3. An attacker is able to respond to these queries and capture network credentials, without prompting end-user (IE, Chrome)
netbios_settings.PNG
27.2 KB View Download
Labels: Security_Severity-Low
Tentatively adding low severity, but feel free to update this if you disagree.

Comment 9 by jochen@chromium.org, Apr 26 2016

Cc: mkwst@chromium.org
I know nothing about NTLM or NetBIOS, so I'm out of my depth on this bug.

It sounds as if there's some sort of fallback system for name lookup (NBT-NS) that is queried if DNS lookup fails, and the attacker here is in a position to intercept these NBT-NS requests.  If so, isn't this basically a problem as soon as the user does some sort of failed DNS lookup anyway?

Would DO_NOT_SEND_AUTH_DATA actually address the problem here?  I don't know what kinds of auth data that disables.

 #10

True, once user submits any URL for which DNS lookup fails, an attacker will be able to capture his credentials. You just eliminate one step in the attack vector with random URLs requests.
I think proper behavior would be asking user to enter his credentials before submitting them.
Cc: pkasting@chromium.org
Owner: ----
Status: Available (was: Assigned)
If we decide that what we want is DO_NOT_SEND_AUTH_DATA, I can obviously implement that (trivial) CL, but I don't think this should be assigned to me for the decision on whether that's the right thing to do.  Somebody who understands more about these auth systems needs to be making that call.
Project Member

Comment 13 by sheriffbot@chromium.org, May 4 2016

Labels: Pri-2
Owner: eroman@chromium.org
Status: Assigned (was: Available)
Eric, can you please take a look or help find an owner.
Cc: asanka@chromium.org
Mergedinto: 464963
Status: Duplicate (was: Assigned)
See the security analysis in  issue 464963 , where this was classified as WontFix.


Regarding comments #5 and #12:

Disabling auth on the IntranetRedirectDetector sounds good to me. I think is a good if for no other reason than code hygiene. From a security perspective though it doesn't solve the inherent weakness of using NTLM over HTTP.

Regarding comment #0:

The attacker is in a position to present themselves as whoever they like over HTTP. So prompting doesn't help much.
Components: -Internals Internals>Network>Auth
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4ae1ec3b4d2acbd5ef53a81967619c9e780bbd15

commit 4ae1ec3b4d2acbd5ef53a81967619c9e780bbd15
Author: pkasting <pkasting@chromium.org>
Date: Thu Jun 16 17:20:15 2016

Don't send auth data from IntranetRedirectDetector.

BUG= 606216 
TEST=none

Review-Url: https://codereview.chromium.org/2057213003
Cr-Commit-Position: refs/heads/master@{#400186}

[modify] https://crrev.com/4ae1ec3b4d2acbd5ef53a81967619c9e780bbd15/chrome/browser/intranet_redirect_detector.cc

Project Member

Comment 18 by sheriffbot@chromium.org, Sep 17 2016

Labels: -Restrict-View-SecurityTeam
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
Project Member

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

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
Project Member

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

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
Labels: allpublic

Sign in to add a comment