AV software Avira breaks websites
Categories
(External Software Affecting Firefox :: Other, defect, P2)
Tracking
(firefox112+ fixed, firefox113+ fixed, firefox114+ fixed)
People
(Reporter: soeren.hentzschel, Unassigned)
References
Details
Attachments
(4 files)
In the last four days we have received six independent reports from users in the German Firefox support that several websites broke for them. It seems that scripts were blocked for them.
In all cases it was caused by the AV software Avira and uninstalling it solved it. Other browsers were not affected.
This screencast was created by one of the users:
https://www.mobirise-tutorials.com/videos/2023-04-24-NO-Links.mp4
Updated•3 years ago
|
Comment 1•3 years ago
|
||
This was reported on Reddit as well https://www.reddit.com/r/firefox/comments/12yfj1a/some_websites_twitter_meganz_fail_to_load_problem/ One of the workarounds mentioned was adding Firefox to trusted apps in Avira settings.
Comment 3•3 years ago
|
||
We sent an email to our contacts asking what's up.
It might be useful to know if this was our update triggering an existing bug in Avira (for which it might have been possible to get advance warning), or Avira just pushing out a broken update.
| Comment hidden (offtopic) |
Comment 5•3 years ago
|
||
Analysis from Yannis so far indicates Avira is doing Man-In-The-Middle interception of secure traffic (with "Web Protection" enabled) and the fake certificate from their MITM proxy is broken somehow in Firefox 112.
Comment 6•3 years ago
|
||
Setting to S3 for now. Avira is fairly popular but this requires the paid version, so likely only a fraction of those users are having the problem.
Comment 7•3 years ago
•
|
||
Toggling HTTPS traffic analysis on/off in Avira's Web Protection feature enables/disables the issue. The Web Protection feature requires the paid version. Only users using this feature are affected, but very likely all of them. The issue doesn't reproduce in Firefox 111.
Here are profiles recorded with the feature enabled, in 111 (no bug) and 112 (bug).
Network preset
111 - https://share.firefox.dev/42igzej
112 - https://share.firefox.dev/3n5INtD
Firefox preset
111 - https://share.firefox.dev/3L8LdQi
112 - https://share.firefox.dev/3AwvLIK
(Update: see comment 15.)
Comment 8•3 years ago
•
|
||
I don't manage to reproduce anymore. It would be good to ask users if it works for them as well now -- Avira may have acted upon it?
Before, in 112, Twitter's certificate would show with Avira Security NetProtection Root 2 as issuer. Now it shows with DigiCert Inc as issuer.
Comment 9•3 years ago
•
|
||
I just tried to push a build reverting NSS to version 3.88 (Fx111), here is a link to try:
https://treeherder.mozilla.org/jobs?repo=try&revision=576cbdc18149d6136e6dd1746fcb6a414bc32392
If someone manages to repro with 112 and can use that build to see if it works or not that would give us
some indication on a potential NSS involvement.
B.
Comment 10•3 years ago
|
||
(In reply to Yannis Juglaret [:yannis] from comment #8)
I don't manage to reproduce anymore. It would be good to ask users if it works for them as well now -- Avira may have acted upon it?
Before, in 112, Twitter's certificate would show with Avira Security NetProtection Root 2 as issuer. Now it shows with DigiCert Inc as issuer.
That makes it sound like Avira has disabled TLS interception altogether.
Comment 11•3 years ago
|
||
I am still able to reproduce by reinstalling and delaying updates. Attached is what things look like in 111 with the faulty Avira. Which is also what things now look like in 112 with the fixed Avira.
Comment 12•3 years ago
|
||
Attached is what things look like in 112 with the faulty Avira.
Comment 13•3 years ago
|
||
I can still reproduce after manually updating. I'm not sure what fixed the issue the first time in comment 8.
Comment 14•3 years ago
•
|
||
On my computer, re-installing Firefox 112 using the official installer seems to fix the issue. The issue seems to reproduce only after updating from 111 to 112 in the browser.
Edit: Actually that only fixes the issue temporarily. Restarting and clearing cache (at least) seem to restore it.
Here are some profiles for huggingface.co:
Firefox preset
OK https://share.firefox.dev/3AtIoEv
KO https://share.firefox.dev/3L86SYU
Network preset
OK https://share.firefox.dev/3oCHTVM
KO https://share.firefox.dev/3Vg7Oiw
Comment 15•3 years ago
•
|
||
Update: Previous messages are wrong. This is not tied to a particular Firefox version. I can reproduce in 108, 109, 110, 111, 112. Right after installation, the first launch will work flawlessly (unless the cache contains the bad result from a previous test). But starting with the second launch, the problem appears (unless the cache contains the good result from a previous test).
Comment 16•3 years ago
•
|
||
During the first launch, a new folder containing a new file appears under C:\Program Files\Mozilla Firefox, namely distribution/policies.json, with contents:
{
"policies": {
"Certificates": {
"ImportEnterpriseRoots": true
}
}
}
Deleting this folder and file temporarily removes the issue just like reinstalling. This is the only difference in C:\Program Files\Mozilla Firefox file contents between the first and second launch.
Comment 17•3 years ago
|
||
Attached is the certificate that Avira installs in the Trusted Root Certification Authorities.
Comment 18•3 years ago
•
|
||
Attached is what loading the websites listed in the Reddit thread looks like if I uninstall Avira's certificate (this is not what users experience). Other websites load without problem as shown on the right. To me this suggests that Avira only does MITM on some specific websites, and that the issue is that the data sent back by Avira's MITM is sometimes corrupt or incomplete.
Comment 19•3 years ago
•
|
||
Setting network.http.http2.enabled to false in about:config fixes the issue (thanks [:gijs]).
Comment 20•3 years ago
•
|
||
Network logs (too big for Bugzilla attachments) here.
All taken with network.http.http2.enabled set to true.
{huggingface,twitter}-ko.txt: With distribution/policies.json from comment 16.
{huggingface,twitter}-ok.txt: Without distribution/policies.json from comment 16.
Comment 21•3 years ago
•
|
||
The investigation by [:kershaw] and [:valentin] suggests that this is caused by Avira rewriting some of the content-length headers when doing MITM (somehow only with HTTP/2 enabled in Firefox?) and adding commas to separate thousands, e.g. content-length: 15,336 for 15336, content-length: 70,033 for 70033. Firefox parses those as 15 and 70 respectively which explains the issue.
Comment 22•3 years ago
•
|
||
FWIW a comma in a header value could also mean that there were two headers of the same name and the values have been combined. E.g.
Content-Length: 10
Content-Length: 20
becomes Content-Length: 10,20
Comment 23•3 years ago
•
|
||
For extra clarity, loading the same websites without Avira yielded content-length: 15336 and content-length: 70033 headers, hence why we are talking about rewriting here.
| Comment hidden (obsolete) |
| Comment hidden (obsolete) |
Comment 28•3 years ago
•
|
||
So this issue is a combination of:
- Avira rewriting
content-length: 70033tocontent-length: 70,033; - Firefox parsing
content-length: 70,033ascontent-length: 70and then trashing the remaining 69963 bytes it received in the HTTP/2 stream (but keeping the 70 first bytes).
Avira has acknowledged the problem on their side and is preparing to ship a patch. On our side the follow-up is bug 1830359.
Comment 32•3 years ago
•
|
||
Avira has started shipping an update yesterday which addresses this issue. I have received the update today and confirm that the problem not longer reproduces. As far as I can tell the update does not change Avira's version number, so it is hard to tell how to check if you have received it. However Avira expects that most users should have received it by Monday.
Updated•3 years ago
|
Description
•