New issue
Advanced search Search tips

Issue 852370 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Chrome does not honor proxy settings

Reported by watter...@gmail.com, Jun 13 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36 OPR/53.0.2907.68

Steps to reproduce the problem:
This is related to the issue reported at https://productforums.google.com/forum/?utm_medium=email&utm_source=footer#!msg/chrome/IspTo0Glue4/IBnvbX7qBQAJ1. 

Chrome does not honor proxy settings passed in via the command line or through environment variables.  For example, I use the following command to run chrome which results in my proxy server not being used.

google-chrome --proxy-server="localhost:2001" --proxy-bypass-list=$no_proxy

What is the expected behavior?
Proxy server is used.

What went wrong?
Proxy server is not used.  Checking the external IP through a site such as https://www.whatismyip.com returns the local network IP instead of the SOCKS proxy server's address.

Did this work before? Yes 

Chrome version: 67.0.3396.62  Channel: stable
OS Version: CentOS Linux release 7.5.1804 (Core) 
Flash Version: 29.0.0.171
 

Comment 1 by palmer@chromium.org, Jun 13 2018

Cc: mmenke@chromium.org
Components: Privacy Internals>Network>Proxy
Labels: Security_Impact-Stable
Owner: eroman@chromium.org
Status: Assigned (was: Unconfirmed)
I tried (on Linux) `google-chrome --proxy-server="localhost:2001" google.com`, with no proxy running on localhost:2001, and got the expected network error page interstitial. But then Chrome seemed to recover from that, try again, and succeed. So that seems wrong.

If people are relying on proxies for some security guarantee, then they lose that guarantee. Precisely how bad that is depends on the circumstances, so I'm not 100% sure what severity to assign to this bug.

This bug might also apply on other platforms; haven't tried.

Comment 2 by wfh@chromium.org, Jun 13 2018

Labels: -Type-Bug-Security -Restrict-View-SecurityTeam -Security_Impact-Stable Type-Bug
In my view, this is not a security bug but a functional bug, but I agree it should have component=privacy since this could have privacy implications.

Comment 3 by eroman@chromium.org, Jun 13 2018

Labels: Needs-Feedback
I tested on Chrome stable channel (67.0.3396.87) and it is working for me.

@palmer: Are you testing from a corp machine? If so, the proxy is controlled by the BeyondCorp extension, and hence the --proxy-server command line has no effect until you set its to "Off: System/Alternative" mode. If that is not the case, I would like to follow-up with you for a repro.

@wattersmt: Unfortunately proxy settings are complicated, so there are a number of possibilities here:

(1) Your proxy settings are being controlled by group policy. If that is the case, --proxy-server has no effect. Navigate to chrome://policy and search for ProxyMode to see if you have a policy override.

(2) Your proxy settings are being controlled by an extension. If that is the case, it can override the proxy set via command line.

(3) Proxy settings are in fact correct, however you have specified a bypass list that causes the URLs of interest to be bypassed. Since in your command line you have:
   --proxy-bypass-list=$no_proxy
The value of $no_proxy is pertinent. For instance if your no_proxy environment variable is the wildcard "*" then you are effectively using no proxy.

(4) You mentioned "returns the local network IP instead of the SOCKS proxy server's address.". Note that you configured Chrome to use an HTTP proxy with --proxy-server=localhost:2001. If you want it to be treated as a SOCKS proxy you need to spell it --proxy-server="sock5://localhost:2001".


The next step for debugging is to navigate to:
   chrome://net-internals#proxy

And report back what it says.

Comment 4 by watter...@gmail.com, Jun 14 2018

Thanks for the response.  It appears I was setting the proxy server parameter incorrectly.  Running chrome using the following command does work with my http proxy.

google-chrome-stable --proxy-server="10.8.0.1:8080" --proxy-bypass-list="localhost,127.0.0.1,.example.com,.google.com"


Comment 5 by eroman@chromium.org, Jun 14 2018

Cc: palmer@chromium.org
Thanks!

@palmer: Mind taking a look at comment #3 -- I have a question for you. Thanks!

Comment 6 by palmer@chromium.org, Jun 14 2018

#5: Yep, I was on a corporate machine with a corp-logged-in profile.

Comment 7 by eroman@chromium.org, Jun 14 2018

Status: WontFix (was: Assigned)
Thanks!

I believe this is working as intended then.

Sign in to add a comment