One Script Tag Just Pwn'd Over 100,000 Websites

  Рет қаралды 87,714

Theo - t3․gg

Theo - t3․gg

4 күн бұрын

Polyfill dot io is compromised. The results are terrifying. Everyone from Hulu to The Guardian to Intuit is currently pwn'd.
SOURCES
sansec.io/research/polyfill-s...
x.com/rich_harris/status/1805...
x.com/Cloudflare/status/18057...
blog.cloudflare.com/automatic...
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4se0n3 for the awesome edit 🙏

Пікірлер: 307
@timseguine2
@timseguine2 2 күн бұрын
To be fair: even before Chrome, Firefox had already put significant pressure on Internet Explorer, Safari and Opera to embrace standards (although to be really fair, IE was the only real problem child). Chrome was just doing what Firefox already started but with the leverage of better UX and more marketshare. I am glad they killed the old web.
@AdamScottPersonnel
@AdamScottPersonnel 2 күн бұрын
Exactly. Firefox was always praised for following the standards.
@qlx-i
@qlx-i 2 күн бұрын
> Chrome was just doing what Firefox already started but with the leverage of better UX and more marketshare And more monopoly and more webp and less jpegxl
@Mitch-xo1rd
@Mitch-xo1rd 2 күн бұрын
15:45 the reason they didn't pin it to a specific hash is the most dangerous thing about pollyfill, it changes based on user agent. Each user may be served a different js file, so you can't pin the script to a specific hash. They give full control of what may be PAYMENT PAGES to a script that randomly changes BY DESIGN! Don't embed things like pollyfill, even if you don't have evidence of it being compromised.
@chriss3404
@chriss3404 2 күн бұрын
if I want to use a less popular js package, I have to make myself to read it or else I can't sit with the idea of deploying it. I can't imagine dropping a script tag into a project of mine without an integrity attribute... terrifying.
@KyleTen2
@KyleTen2 Күн бұрын
I thought the subresource integrity spec allows multiple hashes. In theory one could have enumerated all the user agents the cdn would see and hashed the expected polyfills
@KellyThomas9
@KellyThomas9 Күн бұрын
​@@KyleTen2enumerating all the user agents sounds hard. Easy to capture all the ones you have seen in the past but impossible to comprehensive coverage of the future.
@chriss3404
@chriss3404 16 сағат бұрын
@@KyleTen2 I thought this too, but looking through the MDN at a cursory glance, it's at the very least not common knowledge. It makes a ton of sense as an enhancement though. Dynamic content without the risk would be pretty awesome.
@bluepilkinton-ching3335
@bluepilkinton-ching3335 2 күн бұрын
New idea for an ad blocker: Injecting Polyfill script tags into site
@chriss3404
@chriss3404 2 күн бұрын
from the producers of "pretending to be a malware analysis environment"!
@qlx-i
@qlx-i 2 күн бұрын
@@chriss3404 "pretending to be a VM", I actually saw that thing implemented somewhere, I don't remember where tho
@fennadikketetten1990
@fennadikketetten1990 Күн бұрын
Dunno if this was a joke, but uMatrix allows you to block ALL third party JS. Which in this day and age is something you should definitely be doing by default.
@J1Jordy
@J1Jordy Күн бұрын
Million dollar idea
@user-xj5gz7ln3q
@user-xj5gz7ln3q 2 күн бұрын
"Isn't NPM the same? There are a million who-knows-whats in my module directory. It took 30 minutes just to delete dependencies that depend on dependencies, a million times over.
@asagiai4965
@asagiai4965 2 күн бұрын
I wonder about it too.
@anthonybarnes
@anthonybarnes 2 күн бұрын
This is a good question
@B20C0
@B20C0 2 күн бұрын
It is and supply chain attacks to npm aren't new either. It's a shitshow.
@secret8squirrel316
@secret8squirrel316 2 күн бұрын
I think this happened with npm already. They have protections against it.
@masterflitzer
@masterflitzer 2 күн бұрын
@@secret8squirrel316 not nearly enought, protection on npm is like closing the door unlocked instead of letting it open completely
@ITAC85
@ITAC85 2 күн бұрын
Damn. I had no idea. Terrifying knowing how when repos like Polyfill are bought by different companies, they can do what they please with what they own, whether for the good or not. In most cases, the company that takes over has good intentions, but in the case of Polyfill, it's clear that this wasn't the case.
@everythingpony
@everythingpony 2 күн бұрын
He didn't own it
@Mitch-xo1rd
@Mitch-xo1rd 2 күн бұрын
​@@everythingponyyes he did, then he sold it
@gabriellevesque2185
@gabriellevesque2185 2 күн бұрын
​@@Mitch-xo1rd So he didn't own it... when the bad things happened.
@ankiy
@ankiy 2 күн бұрын
Working in one of the largest bank of Australia. I told my manager about this polyfill thing he was still not convinced after your tweet . Now sharing this video to him. Reason being i am having 2 yrs if experience while he is industry for last 15 yrs.
@elhamnazif
@elhamnazif 2 күн бұрын
Your comment made it sound like you decided to show your boss a tweet/video from some tech KZfaqr instead of a more authoritative source like Cloudflare or the Polyfill maintainer(s)...
@toast_dev
@toast_dev 2 күн бұрын
@@elhamnazifthis is a much better approach! although Theo is a good source of tech news, to convey the message to a “professional” use the damn direct original source lol
@tonygluk1
@tonygluk1 2 күн бұрын
Yes, when you cite a tweet by a hipster-looking youtuber as the most convincing evidence of 100k wide attack, you look like an inexperienced impressionable fanboy. No hate to Theo, but to anyone who isn't familiar with him he's just a random influencer with no credibility. You should've cited Cloudflare.
@aqua-bery
@aqua-bery 2 күн бұрын
15 years and he can't see the issue with polyfill?? Crazy, bro must've been sleeping for at least 10 of those years
@nwylynko
@nwylynko 2 күн бұрын
As an Australian that uses banks, I’d love to know which bank your talking about
@nordern1
@nordern1 2 күн бұрын
Using non-checksumable external libraries is a terrible idea? Who would have thought!
@shapelessed
@shapelessed 2 күн бұрын
It's such a basic knowledge, I don't understand how anybody would even omit it. It's like using installing NPM modules, without specifying a static version. The next dev that's gonna touch it may unknowingly change the entire build' package or even introduce some nasty garbage simply because "npm install" went for the newest thing...
@nordern1
@nordern1 2 күн бұрын
@@shapelessed It's not that they omited it, polyfill io by design could not be checksummed. It generates JS dynamically to polyfill based of the browsers UA-string and a given set of features you need. So the file was always different. The entire sales pitch is that, if the browser is up-to-date, you can skip downloading the polyfill. That's probably what made it a valuable attack target in the first place. But it's still a pretty bad idea regardless. You are trading that little JS overhead for complete trust in the provider of the script. Even with the cloudflare mirror that's not a good idea, and possibly a GDPR violation
@tablettablete186
@tablettablete186 2 күн бұрын
People should vet their dependencies before adding them. Insted they just go NPM install
@limbo3545
@limbo3545 Күн бұрын
@@shapelessed regular dev with deadline pressure be like: insert external libs to get shit done go brrrr
@Sandromatic
@Sandromatic 2 күн бұрын
Its wild that they got the github repo too? Like idk that seems weird.
@baldierot
@baldierot 2 күн бұрын
exactly. they deleted the github issue where people were asking if they got bought by a chinese company, and some completely empty account closed it before the deletion happened and said "polyfill not managed by chinese company, by us based cdn company.".
@baldierot
@baldierot 2 күн бұрын
exactly. they deleted the github issue that was asking whether they got bought out by a chinese company and some completely empty account closed the issue before the deletion saying, "please provide full url with version that is not working, we will clear it from cdn cache." then "polyfill not managed by chinese company, by us based cdn company."
@ShayBlez
@ShayBlez 2 күн бұрын
You passed over nintendo in that list, holy f u c k
@insylogo
@insylogo 2 күн бұрын
I love how the thing says JSTOR is being affected by the polyfill hack and you're like "cool, let me go open that right now".
@wlockuz4467
@wlockuz4467 2 күн бұрын
Not a risk unless you actually have an account singed in on that website.
@CapeSkill
@CapeSkill 2 күн бұрын
he's probably not using it, so he's not compromised.
@jeffreyblack666
@jeffreyblack666 2 күн бұрын
It is fairly trivial to disable javascript, which can allow you to go to any site that is compromised without issue.
@BattyBest
@BattyBest 2 күн бұрын
Plain js cant do much to your host os anyway, most it can do is spam you with alert();. The problem is because the js can just yoink whatever info you put on the website or redirect you to a phishing page, as long as you are just inspecting the website without entering info, though, its fine.
@jeffreyblack666
@jeffreyblack666 Күн бұрын
@@BattyBest Unless you are logged in, in which case it can also do extra fun stuff like potentially hijack your account, and do loads of things on the site on your behalf.
@ThePCJohnson
@ThePCJohnson 2 күн бұрын
I would expect the Cloudflare status page to be running outside of their CDN infrastructure to keep it available during outages so it isn't entirely surprising that they came up with an easy way to avoid the issue and forgot to apply it to that separate part of their systems. It should definitely be on a bunch of checklists now though so that nobody will forget about it for a while.
@RedStone576
@RedStone576 2 күн бұрын
6:20 are they suggesting developers to embed an antivirus on their website?
@BattyBest
@BattyBest 2 күн бұрын
6:15 I love the TOS going "Oopsies, we may give you a virus, we cant know for sure!!,1!! Plz check urself for any viruses we may or may not have put on your website!!!111!,"
@user-xo9yk1nt1h
@user-xo9yk1nt1h 2 күн бұрын
Where does Theo gets his shirts? They look terrific
@irumidesu9236
@irumidesu9236 2 күн бұрын
That looks like a batik. Originated from Indonesia
@pushyoch.8252
@pushyoch.8252 2 күн бұрын
@@irumidesu9236 obligatory SEA/Nusantara heritage mention. Indonesia AND Malaysia (also Brunei and Singapore)
@t3dotgg
@t3dotgg 2 күн бұрын
This one was Topman pre-acquisition, they’ve fallen apart since Used to love Express as well but they’re collapsing atm Will let people know when I find a good shirt source 🙃🙃
@toast_dev
@toast_dev 2 күн бұрын
@@t3dotggyou should try Rhoback! i know you’re fashionable so would love to hear about your thoughts
@XxZeldaxXXxLinkxX
@XxZeldaxXXxLinkxX 2 күн бұрын
Using polyfill and other libs like unpkg and jsdelivr has always been really distasteful to me. Literally bundling arbitrary code that can be swapped out during prod. Of course there are mitigations, but just bake in the libraries you need into your own application...
@bruwyvn
@bruwyvn 2 күн бұрын
Imagine if this happens with a UI library that uses external scripts, like Bootstrap, Semantic UI, etc.
@thekwoka4707
@thekwoka4707 2 күн бұрын
Yeah, it always has been awful. And many seem to think it's okay. Yeah, for a little "lets just slap this in and try it out" sure, but the moment it's more than "hmm thats interesting" you need to be serving it yourself. It's more performant and safer. And easy.
@neothermic1
@neothermic1 2 күн бұрын
@@bruwyvn bootstrap has almost always suggested to use an integrity attribute if you're just nabbing it via a script tag (and they link out to jsdelivr for it, not self-hosted). But yes, this is why you don't link to anything that doesn't have an integrity attribute to lock it down, and why pollyfil is difficult/impossible to secure; it changes delivery based on UA, so you can't give it a single integrity attribute.
@asdfghyter
@asdfghyter 2 күн бұрын
if you use the integrity attribute on the script tag, you can guarantee that they can’t change it, so the worst case scenario is a DOS attack by just not serving the file
@CharlesBallowe
@CharlesBallowe 2 күн бұрын
For the cloud flare status page, I'm assuming they can't serve that page using their caching/rewriting layer - if there's a problem with the core service and the status page is proxied by it, nobody would be able to view the status.
@t3dotgg
@t3dotgg 2 күн бұрын
They could have updated the HTML for the page though lol That said, they are using Atlassian’s status page service so they would have to pressure them to fix it
@CharlesBallowe
@CharlesBallowe Күн бұрын
@@t3dotgg agree that they could have manually fixed jt. Didn't dig deep into how they served it, just that it would be easy to miss the page that is handled differently from everything else. "Ok... We pushed a fix that mitigates the immediate threat, no longer a critical bug to address all of the pages individually." ... "Oh... Missed a spot"
@tabsc3489
@tabsc3489 2 күн бұрын
The way I snickered when you @'d hulu.... that is rich lol
@oleksandrpopovych4841
@oleksandrpopovych4841 2 күн бұрын
well, this is the second attack of such scale on open source community from chinese and affiliated parties
@skyjumper4097
@skyjumper4097 Күн бұрын
what was the first one
@ChrisWijtmans
@ChrisWijtmans Күн бұрын
@@skyjumper4097 I think he is refering to Agent 77 (Jia Tan). Where there is no proof as far as i know that agent 77 is chinese.
@Goat488
@Goat488 Күн бұрын
XZ Backdoor ​@@skyjumper4097
@suou7938
@suou7938 Күн бұрын
@@skyjumper4097attack on XZ was found few weeks ago. probably there are more that don't come to mind immediately
@paultapping9510
@paultapping9510 2 күн бұрын
so as a new new dev I'd been wondering for a while about the security of CDNs and cross-site linking which, back in the day was almost exclusively an attack method, that I keep being instructed to use. Is the benefit of not serving a 20kb css or js file yourself really worth it?
@t3dotgg
@t3dotgg 2 күн бұрын
Your intuition is correct, this is very dumb to do
@shapelessed
@shapelessed 2 күн бұрын
Many of such supply chain attacks are often avoided by using a specific, static version of an NPM dependency. But I guess, in this case, the theoretical use case for that "tool" didn't allow for that too much.
@thekwoka4707
@thekwoka4707 2 күн бұрын
What? You mean just tossing in the cdn script isn't the best idea?!?!?!
@Cyanide300
@Cyanide300 Күн бұрын
And this is why I never deploy production code that calls a third-party CDN. If you're doing that, you are trusting that third party to send you the script you're expecting every time someone loads the page. But they absolutely could send you literally whatever they want instead.
@owenwexler7214
@owenwexler7214 19 сағат бұрын
Moral of the story: self-host everything, don’t rely on anything external. Even for something as harmless and innocuous as a CDN like JSDelivr, there are implications. What if JSDelivr is down the day your site goes viral, to name one example?
@acf2802
@acf2802 2 күн бұрын
This is why the script tag has an integrity attribute if you are smart enough to know how to use it.
@Mitch-xo1rd
@Mitch-xo1rd 2 күн бұрын
The reason they didn't pin it to a specific hash is the most dangerous thing about pollyfill, it changes based on user agent. Each user may be served a different js file, so you can't pin the script to a specific hash. They give full control of what may be PAYMENT PAGES to a script that randomly changes BY DESIGN!
@OliverPlummer905
@OliverPlummer905 2 күн бұрын
Or using a strict Content Security Policy. The script could run and read whatever they want but nothing could be sent out.
@XxZeldaxXXxLinkxX
@XxZeldaxXXxLinkxX 2 күн бұрын
@@OliverPlummer905 CSP is only used for loading resources like images and js though, not for outgoing connections.
@dealloc
@dealloc 2 күн бұрын
@@OliverPlummer905 CSP isn't going to help, the script served from the URL is already "trusted" by the website, otherwise it wouldn't work in the first place. There's no way to specify CSP policy that says "if this resource's contents changes, then deny access to it".
@wlockuz4467
@wlockuz4467 2 күн бұрын
​@@dealloc You can do it using the integrity attribute, it's generally a hash of the script, so any time the script changes and the hash doesn't, it fails to load the script. However in this case it's impossible to do because the script changes based on the user's browser so you can't know the hash in advance.
@H8KU
@H8KU Күн бұрын
Malicious companies do the same thing with browser extensions. They give the original team a ridiculous amount of money to buy the extension, then sever malware through it.
@asdfghyter
@asdfghyter 2 күн бұрын
It’s crucial that you use the integrity attribute with a hash of the JS code on all your external script tags to protect against attacks like this! You still need to verify the safety whenever you add or update any external dependencies, but at least this prevents malicious third parties from changing the code under you.
@nandans2506
@nandans2506 2 күн бұрын
Privacy, anonimity are all just a facade. I'm pretty sure everything is compromised to some extent atleast
@notjoemartinez4438
@notjoemartinez4438 2 күн бұрын
"Everything is bad so let's make no effort to fix it" nihilism is a cancer
@adtc
@adtc 2 күн бұрын
We should just copy the script and put it in our own repository.
@suou7938
@suou7938 Күн бұрын
CDNs are fine, as long as you use the integrity attribute in your tag (at least for now...)
@SuperLlama88888
@SuperLlama88888 2 күн бұрын
SRI integrity hashes should be used when loading all external scripts.
@ShadowRaxx
@ShadowRaxx 2 күн бұрын
Thanks Theo!
@xorxpert
@xorxpert 2 күн бұрын
that’s why i host my own CDN.
@thegrumpydeveloper
@thegrumpydeveloper Күн бұрын
The only good thing about this is that it could have been much much worse and gone undetected for even longer.
@Maxjoker98
@Maxjoker98 Күн бұрын
What is amazing is that this wasn't a sophisticated attack, and they didn't even try to stay hidden. Just imagine the possible damage if these attackers were competent and not basically SEO trolls. Still convinced that this is just a symptom of an issue affecting all of JS(and a lot of other programming languages as well): Small, useless libraries, and package/dependency managers. People don't even realize when they 100x the size of the trusted compute base.
@VKD007
@VKD007 2 күн бұрын
I was visiting few sites last month and i was being redirected to a betting site. I thought I clicked some ad 😮
@1p2k-223
@1p2k-223 2 күн бұрын
wow, same (I think, not sure what site redirected me to a betting site)
@isaac6560
@isaac6560 21 сағат бұрын
Not a dev, is there a way to filter out from the html any that loads polyfill, before the page is read and rendered?
@X85283
@X85283 Күн бұрын
I can't believe these huge sites are using dynamic content delivery like that. I know its a thing but for like an actual production site it seems insane to just be like "yeah go get whatever javascript comes from this link". Nuts not to pin a version and send it from your own server...
@voidkid420
@voidkid420 2 күн бұрын
Making websites work in IE7 is very important ... imagine the revenue and wisdom this demographic has to offer!
@MattHudsonAtx
@MattHudsonAtx 2 күн бұрын
I actually abandoned a person for running windows 98 in 2012
@voidkid420
@voidkid420 2 күн бұрын
@@MattHudsonAtx Thank you for your service! o7
@username7763
@username7763 Күн бұрын
IE7 need isn't very common, but there are lots of corporate webapps. I had to support IE6 long after it was replaced. When you have 10 companies using your products, just having one of them refuse to upgrade is enough to require having to support them. Web apps are used for a lot more than public internet websites.
@binaryguru
@binaryguru 2 күн бұрын
I thought it was obvious to NOT load scripts from external sites for security reasons, guess I was wrong.
@RobertMcGovernTarasis
@RobertMcGovernTarasis Күн бұрын
Scary stuff. I wonder if this is what took down Tesco online shopping recently.
@BarakaAndrew
@BarakaAndrew 2 күн бұрын
Whenever I run "npm install" my heart skips like 10 beats. You could pull malware at any given time and let's be honest it's almost impossible to know.
@dealloc
@dealloc 2 күн бұрын
Not unique to npm, but yes that is a valid concern and is why a lot of companies, who care about security and have the resources, invest those resources in maintaining their own internal mirrors and vet any dependency being mirrored. This is unfortunately not so easy for majority of small companies to do, so they would have to trust a third-party anyway.
@juliansoto2651
@juliansoto2651 2 күн бұрын
It's not like you can't check the code
@codewithdrew
@codewithdrew 2 күн бұрын
@@juliansoto2651best of luck manually analysing 5k packages everytime you npm install
@dustee2680
@dustee2680 2 күн бұрын
@@juliansoto2651 Oh yes ofcourse, let me just go through a couple million lines of code in the libraries in my dependency graph, and re-check at every update. Why didnt i think of that?
@erentr7167
@erentr7167 2 күн бұрын
@@juliansoto2651 "It's not like you can't check the code" when you have like 100 dependencies, they will most probably have 1000 of unique dependencies itself, imagine putting a one liner backdoor in one of the backone packages, image like "is-odd" package, its simple, its everywhere. the thing the package does is simple, so adding one more line and jank code will most probably trigger some people, but if you manage to do it in a way that the code seems legit, you are good to go
@TheJobCompany
@TheJobCompany 19 сағат бұрын
Could it be that Cloudflare Status was explicitly not using the Cloudflare-hosted library, so that it is still available during Cloudflare's downtime?
@maxijonson
@maxijonson Күн бұрын
Me watching this with Hulu paused on the side: 👁👄👁
@sunnyflail9583
@sunnyflail9583 2 күн бұрын
Sorry for offtop, but I can't find it anywhere - what operating system is Theo using here? I only found that he uses Windows 10, but it's a post from last year, and it doesn't really look alike win10 xd
@RT-.
@RT-. Күн бұрын
Windows? I've always seen him using Mac
@user-pw5do6tu7i
@user-pw5do6tu7i 2 күн бұрын
If i throw the polyfill url into my adblocker I should be fine right? like if my client refuses to fetch it, then surely I am protected? Too bad Chrome Manifest V3 is going to kill this functionality
@tablettablete186
@tablettablete186 2 күн бұрын
You cloud vlock it at DNS level
@user-ow2im7os8k
@user-ow2im7os8k 2 күн бұрын
Crap like this is why I run the NoScript browser add-on and only selectively allow JS to run on my browsers.
@AlBol-if5ll
@AlBol-if5ll Күн бұрын
no script + ytdl. will adding polifill to firewall help?
@ColinRichardson
@ColinRichardson Күн бұрын
You went to the network tab instead of just 'view source' ?
@acegear
@acegear 2 күн бұрын
cant imagine big framework just suddenly gone and those config dont work
@willcoder
@willcoder 2 күн бұрын
Could this also affect React Native mobile apps, through dynamic code loading?
@thekwoka4707
@thekwoka4707 2 күн бұрын
It would be weird for a react native app to use polyfills.
@deucemaniac
@deucemaniac 2 күн бұрын
Is there a CVE for this?
@gregmurdoch3264
@gregmurdoch3264 2 күн бұрын
Never remote load a resources where you don't solely own the remote host. If you need to use a remote resource, download it, and upload it to your own CDN. You must, must, verify the libraries you use.
@magnuserikkeenrobot1117
@magnuserikkeenrobot1117 Күн бұрын
the shirt is PRICELESS
@philadams9254
@philadams9254 2 күн бұрын
The original domain appears to be down?
@SeRoShadow
@SeRoShadow 2 күн бұрын
Simply put, once one adds a tag to a 3rd party , it has full control over that website Since Javascript can modify everything with DOM manipulation and by Overriding/Overloading Event Listeners One may use 3rd party scripts to speed up development, local copies of said script if possible. Then, later on, drop those dependencies one by one. If not, they will eventually turn into vulnerabilities that create security and service issues.
@m4rt_
@m4rt_ Күн бұрын
Couldn't you use something like a Pi-hole to block all traffic to the Polyfill website on your network to protect yourself? I think you could do this with the hostfile too, but you would need to do that on every device.
@fadichamieh
@fadichamieh 2 күн бұрын
This is really alarming….
@andr101
@andr101 Күн бұрын
But what does this do to the end user?
@fgregerfeaxcwfeffece
@fgregerfeaxcwfeffece 2 күн бұрын
I still have to leave before I get an aneurysm...
@jordan9506
@jordan9506 Күн бұрын
One tag to rule them all
@infodusha
@infodusha Күн бұрын
Shouldn’t browsers block polyfill domain at that print?
@j_t_eklund
@j_t_eklund 2 күн бұрын
This is why I have made sure to not use any external/cloud resources. It is nuts.. to run code that you don't control.
@jeffreyblack666
@jeffreyblack666 2 күн бұрын
This is why you should never embed an external package, ever. Instead, if you need the script for what you are doing, host it yourself.
@cethien
@cethien Күн бұрын
one of the reasons I import the libs i wanna use and bundle them. never sat right with me to use cdn for my sites functionality
@Mempler
@Mempler 2 күн бұрын
Should've rewritten it in rust.... wait, the service is already written in rust. Doesn't that mean rust is insecure? /j
@tablettablete186
@tablettablete186 2 күн бұрын
Rookie mistake, should've used C! /j
@sub-harmonik
@sub-harmonik 2 күн бұрын
did he disable javascript before visiting hulu?
@sun3k
@sun3k 2 күн бұрын
I don't think the script can do anything meaningful without a logged in account etc. Nothing to steal there.
@CaptainToadUK
@CaptainToadUK 2 күн бұрын
I always thought that using scripts from an external source was a bad idea. if you want to use the script, host it yourself. At least then you can scan the code and pin yourself to a specific version
@tablettablete186
@tablettablete186 2 күн бұрын
Supply chain problem... people adding 500 dependencies to their program. Life going as normal LMAO
@elidolloff
@elidolloff Күн бұрын
GOTTEMMMM
@Jojor11
@Jojor11 2 күн бұрын
This is terrifying… I guess I know the first thing I’ll do at work today (check if we have it even if I think we don’t)
@99999me1
@99999me1 2 күн бұрын
my nextdns config is blocking the domain.
@EwanMarshall
@EwanMarshall 2 күн бұрын
This is why I don't use polyfill, this is why I block polyfill via no-script... But seriously, a lot of web developers need to learn IE9 does not exist anymore.
@valseedian
@valseedian 2 күн бұрын
rule #0 of importing 3rd party libraries: download a snapshot and use your own distribution rather than the 3rd party link. sure, I still sometimes use jquery. but I downloaded the source that worked when I wrote it. breaking changes and security risks avoided
@geomorillo
@geomorillo 22 сағат бұрын
Thats why i allways self host this scripts
@lyth1um
@lyth1um 2 күн бұрын
i use adguard home, umatrix and ublock am i affected?
@perc-ai
@perc-ai 2 күн бұрын
yes
@Mitch-xo1rd
@Mitch-xo1rd 2 күн бұрын
If you use Hulu, yes.
@davepalt
@davepalt 2 күн бұрын
ublock origin already has it filtered out, you can try access polyfill dot io and you'll see
@HedgehogGolf
@HedgehogGolf 2 күн бұрын
uBlock updated their filter list to include the polyfill domain as of June 26th. So likely not anymore. But it would seem prudent to change your passwords on sites that were affected.
@kwicklaunch
@kwicklaunch Күн бұрын
ad networks put js on your site that comes from whoever has paid enough for a designated consumer profile.
@mister_c6005
@mister_c6005 Күн бұрын
Ive always thought running turing complete code in browser was a mistake. Can you imagine going back though? I gladly would, but it aint gonna happen. Itd be the death or upheaval of entire industries. In my mind, itd be worth it. I mean, we might lose social media, and a lot of addictive algorithms. Oh the humanity.
@Tian-wi6qr
@Tian-wi6qr 2 күн бұрын
Why am I not surprised it's a Chinese malicious actor...
@Saviliana
@Saviliana 2 күн бұрын
That is why we need to do everything locally without linking to libraries, but those script kiddies never learned the lesson until something serious happened to them in personal level.
@nicolaicornelis2853
@nicolaicornelis2853 2 күн бұрын
Cloudflare's polyfill is unfortunately slow. Fastly's hosted version is a lot faster. And with Cloudflare's latest nightmare PR I'd probably steer clear of them.
@adamjennings4797
@adamjennings4797 Күн бұрын
Who sold the domain and github account to these people? How much were they paid for it and why did they not feel a duty of care to the 100,000 sites who were currently trusting the scripts source?
@henrischomacker6097
@henrischomacker6097 2 күн бұрын
People that include resources from servers they don't own in their websites actually don't deserve better. No mercy! I the EU it's actually forbidden by law unless you explicitly mention that in a disclaimer AND the visitor of the website has actively opted-in because you also send the website's visitor's IP to that third-party server.
@gm42069
@gm42069 Күн бұрын
Morale of the story... If you actually care about open source, and the internet don't sell off your dead project to a chinese developer
@ticler
@ticler Күн бұрын
Jaomi?!
@ShadowManceri
@ShadowManceri 2 күн бұрын
That's why your script tags likely should have integrity-attribute. That way it makes no difference if the domain gets sold or whatever. If it keeps serving the actual file, no harm done as it can not be modified.
@Mitch-xo1rd
@Mitch-xo1rd 2 күн бұрын
No, the point of pollyfill is that it changes based on user agent, so each user may be served a different file depending on browser versions. You can't pin that to a specific hash, only hope you get served a safe js file.
@ShadowManceri
@ShadowManceri 2 күн бұрын
Good point. The integrity doesn't work towards a stack. So if the original js file loads random js, that could be whatever. Kind of scary idea in the first place to use something like that.
@hex7332
@hex7332 2 күн бұрын
@0:21, That's rapid7.
@tonysolar284
@tonysolar284 2 күн бұрын
This is why I include scripts in my web app and run an integrity check on it, even if its locally loaded.
@darknetworld
@darknetworld 2 күн бұрын
What about those third party sites as well fake google analytics name? and the free host paste pin for codes.... I feel sad...
@aleatoriedades975
@aleatoriedades975 2 күн бұрын
I always think about astro neovim downloading 200 dependencies from random repos at my machine 😅
@doyouwantsli9680
@doyouwantsli9680 2 күн бұрын
Well that's how open source software works half of the time
@the_ktb
@the_ktb 22 сағат бұрын
Same shit happened with Faker for PHP, if you generate in image, the domain changed owner.
@caneco
@caneco 2 күн бұрын
just imagine if this ever happen to cURL 😅
@tangentfox4677
@tangentfox4677 2 күн бұрын
This is a great example of why I block all JavaScript by default. I only enable what I actually use. This literally can't affect me.
@solution001
@solution001 2 күн бұрын
wow
@WofWca
@WofWca 2 күн бұрын
Modern web dev amirite
@leonardomoraes1658
@leonardomoraes1658 2 күн бұрын
So now companies from China are doing the same thing as the companies from US, things are getting interesting.
@ChrisWijtmans
@ChrisWijtmans Күн бұрын
its probably too late already and they got a bunch of info.
@RedStone576
@RedStone576 2 күн бұрын
going down in ccp style
@nathanyoder6220
@nathanyoder6220 2 күн бұрын
Boost
@ajbrady4357
@ajbrady4357 2 күн бұрын
Are users still at risk?
@RT-.
@RT-. Күн бұрын
Yes, users of sites that haven't patched it - the only way to check is disabling JS or going in incognito, View Source, and checking if the compromised URL is there
@Leto2ndAtreides
@Leto2ndAtreides 2 күн бұрын
It looks like they're mainly trying to get ad revenue.
I can't believe this is real
11:54
Theo - t3․gg
Рет қаралды 67 М.
Why doesn't Facebook use git?
20:07
Theo - t3․gg
Рет қаралды 184 М.
Super gymnastics 😍🫣
00:15
Lexa_Merin
Рет қаралды 108 МЛН
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 2,5 МЛН
malicious javascript injected into 100,000 websites
12:28
Low Level Learning
Рет қаралды 155 М.
Why is HD 1080p? | Nostalgia Nerd
20:59
Nostalgia Nerd
Рет қаралды 158 М.
Don't Model the Problem
14:32
David Hart
Рет қаралды 9 М.
Golf Tech is Hidden in Plain Sight!
13:50
Marques Brownlee
Рет қаралды 1,3 МЛН
The Real Reason Why Music Is Getting Worse
12:42
Rick Beato
Рет қаралды 1,7 МЛН
Minecraft's Exploration Problem
29:49
JetStarfish
Рет қаралды 988 М.
The Robot Chess Player Scam
9:55
Primal Space
Рет қаралды 471 М.
Valve is getting sued for $843 million dollars | PirateSoftware Clips
10:24
DailyDoseOfThor - FanMade
Рет қаралды 687 М.
Trump’s Second Term: Last Week Tonight with John Oliver (HBO)
29:15
LastWeekTonight
Рет қаралды 6 МЛН
So I've Been Trying Other Languages...
30:59
Theo - t3․gg
Рет қаралды 53 М.
Неразрушаемый смартфон
1:00
Status
Рет қаралды 2 МЛН
Телефон в воде 🤯
0:28
FATA MORGANA
Рет қаралды 1,2 МЛН
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 1,1 МЛН
SSD с кулером и скоростью 1 ГБ/с
0:47
Rozetked
Рет қаралды 592 М.
CY Superb Earphone 👌 For Smartphone Handset
0:42
Tech Official
Рет қаралды 826 М.