ZeroHour

CVE-2026-73699

niche

PHP Object Injection Leading to RCE in FileRun Before 2026.3.0

CVSS 4.0
8.6 high
EPSS
Published
()
Modified
AI analysis

FileRun before 2026.3.0 contains a PHP object injection vulnerability (CWE-502) in the Perms::getPerms() method, which calls unserialize() without the named-key option required to disable arbitrary class instantiation. An authenticated attacker — CVSS 4.0 rates the required privileges as high — who can write to the database can inject a serialized gadget chain into permissions table columns that are deserialized on every authenticated page load. Deserializing the injected chain allows the attacker to write arbitrary files, such as a PHP webshell, to web-accessible paths, achieving remote code execution on the web server. All self-hosted FileRun deployments running versions prior to 2026.3.0 are affected. No public proof-of-concept or reports of in-the-wild exploitation are currently known, and the flaw is not listed in CISA's KEV.

What to do: Upgrade FileRun to version 2026.3.0 or later. Because exploitation requires a privileged authenticated account plus database write access, review privileged accounts and database write paths, and audit the permissions tables for unexpected serialized PHP objects or unfamiliar data. Restrict database write access to the application account until patched.

Affected
FileRunall versions prior to 2026.3.0
Estimated exposure
nichelikely only in the thousands of self-hosted instances — FileRun is a self-hosted PHP file manager with no SaaS offering and a small installed base, so only a modest number of internet-facing deployments are plausibly affected.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

FileRun before 2026.3.0 contains a PHP object injection vulnerability that allows authenticated attackers to execute arbitrary code by exploiting incorrect options passed to unserialize() in the Perms::getPerms() method, where a positional array is used instead of the required named-key array to disable class instantiation. Attackers with database write access can inject a serialized gadget chain into the permissions table columns processed on every authenticated page load to write arbitrary files, such as PHP webshells, to web-accessible paths.

Weakness
CWE-502
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.