uBlockOrigin / uAssets

Resources for uBlock Origin, uMatrix: static filter lists, ready-to-use rulesets, etc.
GNU General Public License v3.0
4.2k stars 776 forks source link

security.googleblog.com: breakage #25209

Closed joshtriplett closed 2 months ago

joshtriplett commented 2 months ago

Prerequisites

URL address of the web page

https://security.googleblog.com/2024/09/deploying-rust-in-existing-firmware.html

Category

breakage

Description

With uBlock Origin enabled, https://security.googleblog.com/2024/09/deploying-rust-in-existing-firmware.html shows no article content.

Other extensions used

none

Screenshot(s)

Screenshot(s) With uBlock Origin enabled: ![image](https://github.com/user-attachments/assets/0402f9c5-8bdd-46d7-b062-6d7d5feffc03) With uBlock Origin disabled: ![image](https://github.com/user-attachments/assets/3411de05-a50f-4c40-882d-934995c517e2)

Configuration

```yaml uBlock Origin: 1.59.0 Firefox: 129 filterset (summary): network: 124881 cosmetic: 48063 scriptlet: 20739 html: 1952 listset (total-discarded, last-updated): removed: urlhaus-1: null added: plowe-0: 3547-994, now ublock-quick-fixes: 204-79, now default: user-filters: 0-0, never ublock-filters: 40053-138, now ublock-badware: 10981-6, now ublock-privacy: 1116-4, now ublock-unbreak: 2530-1, now easylist: 85798-184, now easyprivacy: 53026-63, now filterset (user): [empty] trustedset: added: [array of 11 redacted] userSettings: prefetchingDisabled: false hiddenSettings: [none] supportStats: allReadyAfter: 14150 ms (selfie) maxAssetCacheWait: 71 ms cacheBackend: indexedDB popupPanel: blocked: 2 network: doubleclick.net: 1 googletagmanager.com: 1 extended: ##+js(trusted-replace-node-text, script, (function serverContrac… ##+js(adjust-setTimeout, [native code], 17000, 0.001) ##+js(json-prune-fetch-response, playerAds adPlacements adSlots … ##+js(json-prune-xhr-response, playerAds adPlacements adSlots pl… ##+js(set-constant, ytInitialPlayerResponse.playerAds, undefined… ##+js(set-constant, ytInitialPlayerResponse.adPlacements, undefi… ##+js(set-constant, ytInitialPlayerResponse.adSlots, undefined) ##+js(set-constant, playerResponse.adPlacements, undefined) ##+js(json-prune-fetch-response, reelWatchSequenceResponse.entri… ```
MasterKia commented 2 months ago

Even with uBO disabled, the site is broken and I get this in the console:

Uncaught InternalError: too much recursion
    initContent deploying-rust-in-existing-firmware.html
stephenhawk8054 commented 2 months ago

Confirm the page is broken for me too without using any extensions

![image](https://github.com/user-attachments/assets/f1669b6e-7f34-4367-9a26-7d95bf78d238)

It's because they are using a bad regex in the code:

<details

image

regex101.com returns catastrophic backtracking for me

![image](https://github.com/user-attachments/assets/295ad352-403f-498f-8aea-2a925f46185b)
joshtriplett commented 2 months ago

Sigh. Before reporting this, I tested this multiple times, and each time it consistently worked with uBlock Origin disabled and didn't work with uBlock Origin enabled. However, it does look like it's simply inconsistent whether it loads or not, and by loading it several more times I've now observed breakage with uBlock Origin disabled and functioning with uBlock Origin enabled. Apparently I just had a series of several successes/failures that were each correlated with the uBlock Origin status.

Closing this, and sorry for what ended up being a red herring.