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

Technology

59322 readers
5123 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] 175 points 4 months ago (6 children)

nah. over 100k sites ignored dependency risks, even after the original owners warned them this exact thing would happen.

the real story is 100k sites not being run appropriately.

[–] [email protected] 130 points 4 months ago (1 children)

The hackers just engaged in a little bit of technical debt collecting ;)

[–] [email protected] 25 points 4 months ago (1 children)
[–] [email protected] 15 points 4 months ago

Please do! I’ve been trying to make it stick for almost a decade!

[–] [email protected] 108 points 4 months ago* (last edited 4 months ago) (2 children)

That's not how systemic problems work.

This is probably one of the most security ignorant takes on here.

People will ALWAYS fuck up. The world we craft for ourselves must take the "human factor" into account, otherwise we amplify the consequences of what are predictable outcomes. And ignoring predictable outcomes to take some high ground doesn't cary far.

The majority of industries that actually have immediate and potentially fatal consequences do exactly this, and have been for more than a generation now.

Damn near everything you interact with on a regular basis has been designed at some point in time with human psychology in mind. Built on the shoulders of decades of research and study results, that have matured to the point of becoming "standard practices".

[–] [email protected] 1 points 4 months ago (1 children)

Ok, people will always fuck up, so what do you do?

The majority of industries that actually have immediate and potentially fatal consequences do exactly this, and have been for more than a generation now.

All the organizations (including public) getting ransomware and data stolen, it's because the consequences are not that bad? It is not gross negligence?

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

I'm not sure if this is just a rhetorical question or a real one?

Because I didn't claim it isn't negligence. It is negligent, however, it is not a problem solvable by just pointing fingers. It's a problem that solvable through more strict regulation and compliance.

Cyber security is almost exactly the same as safety in other industries. It takes the same mindset, it manifests in the same ways under the same conditions, it tends to only be resolved and enforced through regulations....etc

And we all know that safety is not something solvable by pointing fingers, and saying "Well Joe Smo shouldn't have had his hand in there then". You develop processes to avoid predictable outcomes.

That's the key word here, predictable outcomes, these are predictable situations with predictable consequences.


The comment above mine is effectively victim blaming, it's just dismissing the problem entirely instead of looking at solutions for it. Just like an industry worker being harmed on the job because of the negligence of their job site, there are an incredibly large number of websites compromised due to the negligence of our industry.

Just like the job site worker who doesn't understand the complex mechanics of the machine they are using to perform their work, the website owner or maintainer does not understand the complex mechanics of the dependency chains their services or sites rely on.

Just like a job site worker may not have a good understanding of risk and risk mitigation, a software engineer does not have a good understanding of cybersecurity risk and risk mitigation.

In a job site this is up to a regulatory body to define, utilizing the expertise of many, and to enforce this in job sites. On job sites workers will go through regular training and exercises that educate them about safety on their site. For software engineers there is no regulatory body that performs enforcement. And for the most part software engineers do not go through regular training that informs them of cybersecurity safety.

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago)

I'm not blaming the single person who did a mistake, I'm blaming the negligence of the companies that cut corners for profit, so most of them.

Your first comment read as if organizations where this happens couldn't have bad consequences. Your new comment explains what you meant better, and I agree.

[–] [email protected] 53 points 4 months ago (3 children)

One place I worked at recently was still using Node version 8. Running npm install would give me a mini heart attack... Like 400+ critical vulnerabilities, it was several thousand vulnerabilities all around.

[–] [email protected] 30 points 4 months ago (2 children)

Running npm install would give me a mini heart attack

It should; but more because it installs things right off the net with no validation. Consistency of code product is not the only thing you're tossing.

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

How else would you get LPAD ? Expect me to write 2 lines of code when I could just import a 100 Mb library to do it for me?

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

You need to get up to date from three years ago. NodeJS 16.20, or thereabouts, enabled dependency auditing by default.

I’m still fighting my engineers go get current enough to use this (but we do have a proxy artifact server that also attempts to keep downloads clean, and a dependency scanner)

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

After the first 100, the other 300 kinda don't matter.

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

If you're on RHEL 8+, you can install the latest version of node with dnf.

dnf install nodejs will likely install node 8 :(. Use dnf module install nodejs:20 to install the latest version.

[–] [email protected] 41 points 4 months ago (2 children)

the real story is 100k sites not being run appropriately.

Same as it ever was. Same as it ever was. Same as it ever was.

[–] [email protected] 9 points 4 months ago (1 children)

Yeah this is just capitalistic business in general. Don’t do anything proactive if it might reduce the bottom line in the short term. Blame others and beg for help when you weren’t proactive. Succeed singularly, fail collectively

[–] [email protected] 6 points 4 months ago (1 children)

You just described my coworker...

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

Described every corporation ever incorporated.

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

This isn't holding up, time isn't after us.

[–] [email protected] 21 points 4 months ago* (last edited 4 months ago) (1 children)

100k sites ignored dependency risks

JS: typing systems are boring, warnings are boring, security is boring.

[–] [email protected] -5 points 4 months ago (2 children)

Sure, the package managers of other languages are super safe

[–] [email protected] 12 points 4 months ago (1 children)

You're confused. It's unrelated to package managers, it's about basic security principles like this: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity but JS devs don't care.

[–] [email protected] 4 points 4 months ago (1 children)

Finding new ways webshits fuck up the most basic development principles boggles my mind. It's like they intentionally stay ignorant.

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

We know, but we don’t have time to change. We have another site waiting to get slammed out as soon as the one we’re working on, which was underfunded with a ridiculous timeline goes live.

There’s still a fair bit of “my nephew makes websites, it can’t be that [hard, expensive, time consuming], oh and by the way, e we need a way to edit every word and image on the site, that both our intern and barely literate CEO can understand, even though we’re literally never going to edit anything ever.”

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

They're widely variable. PyPI gets into about as much trouble as npm, but I haven't heard of a successful attack on CPAN in years (although that may be because no one cares about Perl anymore).