Between November 2025 and March 2026, Dutch security firm Eye Security pushed more than 2 million update packages to computers it did not own. This was not a cyberattack — it was a large-scale, ethically-driven remediation effort targeting Time4Popcorn, an abandoned fork of the Popcorn Time streaming application. The goal was simple but urgent: remotely disable a built-in background updater that had become a standing remote code execution (RCE) vector.
The abandoned updater was designed to fetch and execute code from a now-defunct update server. Because the underlying infrastructure is unmaintained and the update mechanism lacked modern authentication controls, it created a scenario where an attacker — or in this case, a security researcher — could push arbitrary code to any machine still running the software. Eye Security’s intervention neutralized this risk by forcing the updater to reach out to a controlled endpoint and receive a payload that disabled the update functionality entirely.
For defenders, this incident is a stark reminder of the dangers posed by abandonware and shadow IT. Piracy-adjacent tools like Time4Popcorn often operate outside corporate software inventory, receive no security patches, and retain persistent background services that can be weaponized. This guide provides the technical context, detection rules, and remediation steps needed to identify and eliminate similar orphaned update mechanisms in your environment.
Technical Analysis
Affected Software and Scope
- Product: Time4Popcorn (an abandoned fork of the original Popcorn Time application)
- Component: Background auto-updater service
- Platform: Windows, macOS, and Linux desktop installations
- Status: Officially unmaintained; no vendor security support or patch channel
Time4Popcorn was distributed widely between 2014 and 2016 as a free BitTorrent-based streaming client. While the original Popcorn Time project faced legal pressure and fragmented into multiple forks, Time4Popcorn continued to circulate through unofficial download mirrors, torrent bundles, and software archives. Many of these installations remain active on personal devices, lab machines, and occasionally corporate endpoints where users bypassed application control policies.
Vulnerability Mechanism
The updater service in Time4Popcorn was designed to periodically poll a hardcoded update server for new releases. When a response was received, the client would download and execute the update package with the privileges of the running process — often elevated if installed with administrative rights.
The critical failure was the absence of code signing verification and server authentication. Once the original update infrastructure lapsed or was seized, any party capable of responding to the updater’s network requests could deliver a malicious payload. Eye Security demonstrated this by standing up infrastructure that answered these polling requests and pushed a benign update designed to neuter the updater itself.
From a defender’s perspective, this is a classic supply-chain risk via unmaintained software. The attack chain is straightforward:
- Persistence: The updater runs as a background service or scheduled task.
- C2 Communication: It reaches out to a static, unauthenticated endpoint over HTTP or HTTPS.
- Execution: Downloaded payloads are written to a temporary directory and executed without signature validation.
- Impact: Full remote code execution in the context of the user or system.
Exploitation Status
- Confirmed Active Exploitation: No. There is no evidence that criminal or state-sponsored actors exploited this vector before Eye Security’s intervention.
- Proof-of-Concept: Effectively demonstrated by Eye Security at scale (2M+ devices).
- CISA KEV: Not listed. This is not a vendor-assigned CVE but a systemic risk in abandoned software.
The absence of a CVE does not diminish the severity. Any endpoint still running Time4Popcorn with the updater enabled should be considered at high risk of compromise, particularly if the device has access to internal network resources.
Detection & Response
Identifying Time4Popcorn installations requires hunting for both the application binaries and the characteristic network behavior of the updater. The following detections focus on process execution, network connections to known update domains, and file system artifacts.
Sigma Rules
---
title: Time4Popcorn Updater Process Execution
id: 8f3a2b1c-9d4e-4f5a-b6c7-8d9e0f1a2b3c
status: experimental
description: Detects execution of the Time4Popcorn background updater process, which is a known abandoned software component with remote code execution risk.
references:
- https://thehackernews.com/2026/10/researchers-push-over-2-million-updates.html
author: Security Arsenal
date: 2026/04/06
tags:
- attack.execution
- attack.t1059
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\Time4Popcorn.exe'
- '\PopcornTime.exe'
- '\Updater.exe'
selection_cli:
CommandLine|contains:
- 'Time4Popcorn'
- 'Popcorn Time'
condition: selection_img or selection_cli
falsepositives:
- Legitimate installations of actively maintained Popcorn Time forks (rare in enterprise environments)
level: high
---
title: Time4Popcorn Updater Network Beaconing
id: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects network connections to known Time4Popcorn update domains or patterns consistent with the updater's polling behavior.
references:
- https://thehackernews.com/2026/10/researchers-push-over-2-million-updates.html
author: Security Arsenal
date: 2026/04/06
tags:
- attack.command_and_control
- attack.t1071
logsource:
category: network_connection
product: windows
detection:
selection:
DestinationHostname|contains:
- 'time4popcorn'
- 'popcorntime'
- 'popcorn-time'
Initiated: 'true'
falsepositives:
- Security research or honeypot activity
- DNS queries from passive DNS replication
level: medium
---
title: Suspicious Temporary Executable from Updater Directory
id: 9c8b7a6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects execution of unsigned binaries from temporary directories commonly used by the Time4Popcorn updater for payload staging.
references:
- https://thehackernews.com/2026/10/researchers-push-over-2-million-updates.html
author: Security Arsenal
date: 2026/04/06
tags:
- attack.defense_evasion
- attack.t1036
logsource:
category: process_creation
product: windows
detection:
selection:
Image|startswith:
- 'C:\Users\*\AppData\Local\Temp\'
- 'C:\Windows\Temp\'
Image|endswith: '.exe'
filter_signed:
SignatureStatus: 'valid'
condition: selection and not filter_signed
falsepositives:
- Legitimate software installers or IT automation tools running from temp paths
level: medium
KQL (Microsoft Sentinel / Defender)
Use the following queries to hunt across endpoint and network data in Microsoft Sentinel or Defender for Endpoint.
// Hunt for Time4Popcorn process execution and network connections
DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where FileName has_any ("Time4Popcorn.exe", "PopcornTime.exe", "Updater.exe")
or ProcessCommandLine has_any ("Time4Popcorn", "Popcorn Time")
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, FolderPath, InitiatingProcessAccountName
| join kind=leftouter (
DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteUrl has_any ("time4popcorn", "popcorntime", "popcorn-time")
| project TimeGenerated, DeviceName, RemoteUrl, RemoteIP, InitiatingProcessFileName
) on DeviceName
| extend Suspicious = iif(isnotempty(RemoteUrl), "Yes", "No")
| where Suspicious == "Yes" or isnotempty(FileName)
| summarize by DeviceName, FileName, ProcessCommandLine, RemoteUrl, RemoteIP
// Identify unsigned executables launching from temp directories (common updater staging)
DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where FolderPath startswith @"C:\Users\" and FolderPath contains @"\AppData\Local\Temp\"
and FileName endswith ".exe"
| extend IsSigned = todynamic(FileOriginInfo).IsSigned
| where IsSigned == false or IsSigned == "False"
| project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName
| summarize ExecutionCount = count(), LastSeen = max(TimeGenerated) by DeviceName, FileName, SHA256
| order by LastSeen desc
Velociraptor VQL
For endpoint forensics at scale, use Velociraptor to sweep for Time4Popcorn artifacts and running processes.
-- Hunt for Time4Popcorn processes and related temp executables
SELECT Pid, Name, Exe, CommandLine, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)time4popcorn|popcorntime'
OR Exe =~ '(?i)time4popcorn|popcorntime'
OR CommandLine =~ '(?i)time4popcorn|popcorn time'
-- Identify recently created executables in user temp directories
SELECT FullPath, Size, Created, Modified
FROM glob(globs='C:\\Users\\*\\AppData\\Local\\Temp\\*.exe')
WHERE Created > now() - 86400 * 7
ORDER BY Modified DESC
Remediation Script
The following PowerShell script will identify Time4Popcorn installations, terminate running processes, remove scheduled tasks, and quarantine the application directory. Run this with administrative privileges on Windows endpoints.
# Time4Popcorn Remediation Script - Security Arsenal
# Run as Administrator
$ErrorActionPreference = "SilentlyContinue"
$LogPath = "$env:SystemDrive\ProgramData\SecurityArsenal\Time4Popcorn_Remediation.log"
New-Item -ItemType Directory -Path (Split-Path $LogPath) -Force | Out-Null
Start-Transcript -Path $LogPath -Append
Write-Host "[+] Starting Time4Popcorn detection and remediation..." -ForegroundColor Cyan
# 1. Kill running processes
$Processes = Get-Process | Where-Object { $_.Name -match 'time4popcorn|popcorntime' -or $_.Path -match 'time4popcorn|popcorntime' }
if ($Processes) {
Write-Host "[-] Found running processes:" -ForegroundColor Yellow
$Processes | Select-Object Name, Id, Path | Format-Table
$Processes | Stop-Process -Force
Write-Host "[+] Terminated $($Processes.Count) process(es)." -ForegroundColor Green
} else {
Write-Host "[+] No running Time4Popcorn processes detected." -ForegroundColor Green
}
# 2. Remove scheduled tasks
$Tasks = Get-ScheduledTask | Where-Object { $_.TaskName -match 'popcorn|time4popcorn' -or $_.Actions.Execute -match 'time4popcorn|popcorntime' }
if ($Tasks) {
Write-Host "[-] Found scheduled tasks:" -ForegroundColor Yellow
$Tasks | Select-Object TaskName, TaskPath | Format-Table
$Tasks | Unregister-ScheduledTask -Confirm:$false
Write-Host "[+] Removed $($Tasks.Count) scheduled task(s)." -ForegroundColor Green
} else {
Write-Host "[+] No related scheduled tasks found." -ForegroundColor Green
}
# 3. Identify and quarantine installation directories
$SearchPaths = @(
"$env:ProgramFiles",
"$env:ProgramFiles(x86)",
"$env:LOCALAPPDATA",
"$env:APPDATA"
)
$FoundDirs = @()
foreach ($Path in $SearchPaths) {
$Dirs = Get-ChildItem -Path $Path -Directory -ErrorAction SilentlyContinue | Where-Object { $_.Name -match 'time4popcorn|popcorntime' }
$FoundDirs += $Dirs
}
if ($FoundDirs) {
$Quarantine = "$env:SystemDrive\ProgramData\SecurityArsenal\Quarantine"
New-Item -ItemType Directory -Path $Quarantine -Force | Out-Null
foreach ($Dir in $FoundDirs) {
$Dest = Join-Path $Quarantine ($Dir.Name + "_" + (Get-Date -Format 'yyyyMMdd_HHmmss'))
Write-Host "[-] Quarantining $($Dir.FullName) to $Dest" -ForegroundColor Yellow
Move-Item -Path $Dir.FullName -Destination $Dest -Force
}
Write-Host "[+] Quarantined $($FoundDirs.Count) directory(ies)." -ForegroundColor Green
} else {
Write-Host "[+] No Time4Popcorn installation directories found." -ForegroundColor Green
}
# 4. Check for updater persistence in registry
$RegPaths = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
)
foreach ($RegPath in $RegPaths) {
$Props = Get-ItemProperty -Path $RegPath -ErrorAction SilentlyContinue
if ($Props) {
$Props.PSObject.Properties | Where-Object { $_.Value -match 'time4popcorn|popcorntime' } | ForEach-Object {
Write-Host "[-] Removing registry persistence: $($_.Name) = $($_.Value)" -ForegroundColor Yellow
Remove-ItemProperty -Path $RegPath -Name $_.Name -Force
}
}
}
Write-Host "[+] Remediation complete. Review log at $LogPath" -ForegroundColor Cyan
Stop-Transcript
Remediation
Immediate Actions
-
Inventory and Identify: Scan your environment for Time4Popcorn installations using the detection rules and scripts above. Pay special attention to user-owned devices, BYOD endpoints, and developer workstations where shadow IT is common.
-
Block Network Indicators: Add the following domains to your DNS sinkhole or web proxy blocklist:
*.time4popcorn.**.popcorntime.**.popcorn-time.*
Note that these domains may have been repurposed or sinkholed by researchers. Blocking them prevents any residual updater activity from reaching live infrastructure.
-
Remove or Isolate: For managed endpoints, uninstall Time4Popcorn entirely. If the software is required for a specific business purpose (unlikely), isolate the host on a segmented VLAN with no access to internal resources.
Long-Term Hardening
- Application Allowlisting: Enforce Windows Defender Application Control (WDAC) or AppLocker policies to prevent execution of unauthorized software. This is the most effective defense against abandonware-based RCE vectors.
- Software Inventory: Maintain an accurate asset inventory that includes user-installed applications. Tools like Microsoft Defender for Endpoint, Tanium, or osquery can surface unauthorized software.
- User Education: Remind users that pirated streaming applications frequently bundle malware, cryptominers, or unpatched RCE vulnerabilities. Provide legitimate alternatives for media access.
- Updater Hygiene: Audit third-party software updaters across your environment. Ensure all update mechanisms use TLS with certificate pinning and code signing validation.
Vendor and Community Resources
- Eye Security Blog: Monitor Eye Security’s research for follow-up analysis and indicators related to this campaign.
- The Hacker News Coverage: Original reporting on the 2M+ update remediation effort.
CISA and Regulatory Context
While this incident does not map to a specific CVE or CISA KEV entry, it aligns with CISA’s guidance on Software Bill of Materials (SBOM) and NIST SP 800-218 (Secure Software Development Framework). Organizations should treat unmaintained third-party software as a supply-chain risk and apply the same rigor to abandonment as they do to vulnerability management.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.