gorhill / uMatrix

uMatrix: Point and click matrix to filter net requests according to source, destination and type

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chrome shows raw gzip instead of actual page when uMatrix is enabled

Tomalak opened this issue · comments

Setup:

  • Windows 7 64-bit build 7601 SP1, fully patched as of today
  • Version 65.0.3325.52 (Official Build) dev (64-bit)
  • uMatrix 1.3.2

This happens on one of my company's Intranet webservers (IIS, gzip compression is enabled) and appears directly tied to the enabled/disabled state of the uMatrix extension. When uMatrix is enabled, the pages look like this:

image

That appears to be textual representation of the raw, gzipped bytes of the server response body.

When uMatrix is disabled, the pages look perfectly fine. The issue does not seem occur with other servers that have compressed responses, but can be reproduced reliably on this one.

Here is what I did:

  • I have checked the browser console for any errors. Nothing.
  • I have removed all my rules for testing purposes. Same behavior.
  • I have tried setting an "allow all" rule for this server. Same behavior.
  • I have tried disabling uMatrix via its own "disable/enable matrix" button. Same behavior.
  • I have tried starting with a clean Chrome profile and installed nothing but uMatrix from the Chrome store without making any modifications to the default settings. Same behavior.
  • I have tried starting with a clean Chrome profile and installed nothing but uMatrix dev build from the Chrome store without making any modifications to the default settings. Same behavior.
  • I haven't found any option within uMatrix that triggers this. Only completely disabling it via Chrome's extension manager makes a difference.
  • It used to work (!) until roughly a couple of weeks ago. I have no exact date, and I have waited deliberately to see if in the meantime an update to Chrome or uMatrix itself would resolve the issue.

Other observations:

When uMatrix is enabled, there is only a single request in the "Network" tab of Chromes dev tools - the one for the page itself, which comes back with 200 OK, but garbled body text. When uMatrix is disabled, the body text looks fine and the other resources (scripts, CSS, etc) are requested subsequently as the page renders.

There is nothing of note in the uMatrix logger window. The request shows up there as well and appears with a gray background, i.e. untouched by uMatrix.

For the sake of completeness, these are the server response headers:

Content-Encoding: gzip
Content-Language: de-DE
Content-Type: text/html; charset=UTF-8
Date: Thu, 08 Feb 2018 12:51:55 GMT
Server: Microsoft-IIS/6.0
Transfer-Encoding: chunked
Vary: Accept-Encoding
WWW-Authenticate: Negotiate xxxxxxxxxxx
X-UA-Compatible: ie=edge

I realize that this potentially falls into the "if I disable uMatrix it works" category that you don't want to hear about, but I've done my best to make a case that it isn't merely misconfiguration or lack of understanding of how uMatrix works, but more likely something in the internals of uMatrix itself.

Happy to give anything you would need, but frankly I am at a loss what else to provide. (I could provide Wireshark dumps if need be, but I am reluctant to do so just yet.)

Sounds like #912

@uBlock-user Possibly. What has me stumped here is that (contrary to the similar issues) only atually disabling the extension makes a difference. Reloading the page with F5 does nothing at all.

Chrome is perfectly happy with the server response as long as uBlock is not enabled.

@Tomalak Try setting disableCSPReportInjection to true. If it works, that confirms that it is indeed #912.

@uBlock-user All-right, that's it. Thank you.

@gorhill Seems the bug got fixed today in Chromium 66.