Skip to content

Plex2Shell chain exploited within a day of public PoC

Four Plex Media Server bugs (CVE-2026-96652 to -96656) chain to unauthenticated RCE. A honeypot saw in-the-wild exploitation the day after the PoC dropped. Fixes shipped September 1.

Published 3 min read

A four-bug chain in Plex Media Server, dubbed Plex2Shell, gives an unauthenticated attacker code execution on an internet-exposed server. The researcher who found it published a full write-up and proof-of-concept on October 16; a second researcher running a Plex honeypot reported seeing exploitation in the wild the next morning. Plex shipped fixes on September 1, so the window to patch has already closed on anyone who delayed.

The primary source is the finder's write-up at zmain.info/blog/plex2shell, with working exploit code at github.com/code-zm/plex2shell.

What the chain does

Four flaws combine so that none needs valid credentials, and the resulting code runs with the privileges of the Plex service:

Per the write-up, the pieces are: an unauthenticated SSRF in the companion /player/* API, where the token check only confirms a header is present and the callback URL is built from unvalidated input; an exposure of the loopback plugin API via /system/agents/*, where a broken guard lets unsanitized input reach internal requests; an owner-token disclosure, because an outbound-request check matches URLs by prefix only and leaks the owner's admin token to an attacker host; and an arbitrary file write and code execution path in the transcoder, where an owner-writable preference directs output to a location the server later loads as a library.

Exploitation status

Exploitation is confirmed. A separate researcher wrote at boredhackerblog.info that, after running an internet-facing Plex honeypot, "as of this morning (Oct 17th), I finally saw in the wild exploitation." The observed payloads were an XMRig-based cryptocurrency miner and a proxyware component named "myawesomeproxy." Note that the published indicators cover only honeypot activity and do not include broadly reusable hashes or IPs.

Action checklist

  1. Update Plex Media Server now. The fix shipped in the September 1 release; any server that has not updated since is vulnerable. Confirm the running build in Settings → General.
  2. Do not expose Plex directly to the internet. Keep remote access behind Plex's own relay or a VPN rather than a port-forward to the media server.
  3. If the server was exposed and unpatched between the PoC date and your upgrade, treat it as potentially compromised: check for unexpected XMRig processes, outbound mining traffic, and the myawesomeproxy binary.
  4. Rotate any credentials or tokens stored on or reachable from the host.

Context

The timeline is the story: Plex confirmed the bugs and paid a bounty on August 4, shipped fixes around September 1, and the CVEs were assigned September 23 — but exploitation only began once a working PoC went public on October 16. That is the familiar n-day pattern, where the gap between "patched" and "weaponized" is measured from disclosure, not from the fix. Operators who treat a quiet September patch as low priority are exactly the ones a public PoC catches out.

Related stories