this post was submitted on 26 Jun 2024
906 points (98.9% liked)

Technology

58303 readers
3 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Archived link

The polyfill.js is a popular open source library to support older browsers. 100K+ sites embed it using the cdn.polyfill.io domain. Notable users are JSTOR, Intuit and World Economic Forum. However, in February this year, a Chinese company bought the domain and the Github account. Since then, this domain was caught injecting malware on mobile devices via any site that embeds cdn.polyfill.io. Any complaints were quickly removed (archive here) from the Github repository.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 71 points 5 months ago (6 children)

Not a solution. Much of the modern web is reliant on JavaScript to function.

Noscript made sense when the web was pages with superfluous scripts that enhanced what was already there.

Much of the modern web is web apps that fundamentally break without JS. And picking and choosing unfortunately won't generally protect from this because it's common practice to use a bundler such as webpack to keep your page weight down. This will have been pulled in as a dependency in many projects and the site either works or does not based on the presence of the bundle.

Not saying this is a great situation or anything, but suggesting noscript as a solution is increasingly anachronistic.

[–] [email protected] 7 points 5 months ago

This will have been pulled in as a dependency in many projects and the site either works or does not based on the presence of the bundle.

This wasn't bundled. People inserted a script tag pointing to a third-party CDN onto their sites. The output changes depending on the browser (it only loads the polyfills needed for the current browser) so you can't even use a subresource integrity hash.

[–] [email protected] 6 points 5 months ago

Much of the modern web is reliant on JavaScript to function.

“function” is doing a lot of lifting there. Trackers, ads, and assorted other bullshit is not the kind of functioning anyone needs.

It’s true the average user gets flummoxed quickly when the scripts are blocked, but they can either sink (eat ads and trackers) or swim (learn what scripts to allow). (Spoiler: they almost always sink)

[–] [email protected] 4 points 5 months ago

Not a solution. Much of the modern web is reliant on JavaScript to function.

And much of it works better and faster without JavaScript. Some sites don't work in Noscript, but most sites run faster and work well enough.

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago)
[–] [email protected] -5 points 5 months ago (2 children)

I only allow JS on a whitelist.

[–] [email protected] 18 points 5 months ago* (last edited 5 months ago) (2 children)

A whitelist wouldn't mitigate this issue entirely due to bundling

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago)

In this case the script wasn't bundled at all - it was hotlinked from a third party CDN. Adding malicious code instantly affects all the sites that load it.

The output differs depending on browser (it only loads the polyfills your browser needs) so it's incompatible with subresource integrity.

[–] [email protected] 4 points 5 months ago

Imo, computing, like all other things, requires a little trust and risk. The problem is most people are Wayyy to trusting in general.