Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as backend manager
-
DeliveryAccess storage upload action
-
ExploitUpload PHP file bypassing type check
-
ExecutionFile written to web-accessible dir
-
PersistRequest uploaded script via HTTP
-
ImpactExecute arbitrary code on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with the backend 'manager' role in yii2-starter-kit (through 4.2.0); the attacker abuses the backend file-storage module's upload action (StorageController), which fails to validate file type/extension, to write a .php file into the web-accessible storage directory and then requests that URL to trigger execution. Limiting factors: exploitation is gated on manager-level authentication (PR:L, not unauthenticated), on the backend file-storage module being enabled and reachable, and on the storage directory being served without script-execution restrictions - the default starter-kit layout. No user interaction is required once manager access is held. |
| Impact | This is a genuine, high-consequence flaw for anyone running yii2-starter-kit as a live application, but its real-world priority is tempered by both the authentication requirement and the niche footprint of the affected product. The vendor's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, 8.7) accurately captures an unrestricted-file-upload-to-RCE: network-reachable, low complexity, no user interaction, full confidentiality/integrity/availability loss. The one real gate is PR:L - the attacker must already hold an authenticated 'manager' role in the backend, so this is not a drive-by remote takeover but a post-authentication privilege-to-RCE escalation. No EPSS score, no CISA KEV listing, and no public exploit code are present in the supplied data, so per the precision rules this is 'no public exploit identified at time of analysis.' That said, the advisory references the exact vulnerable source line (StorageController.php#L36), and the technique (upload .php, request it) is trivial and well-understood, so exploit development would be easy for anyone with manager access. Net: a real priority to patch where the product is actually deployed with the backend file module exposed, but not a mass-exploitation candidate given the manager-role prerequisite and the product's limited deployment base. No signals conflict - the CVSS network vector is consistent with the description (HTTP upload then HTTP request of the planted file). |
| Exploit ScenarioDerived | An attacker who has obtained (or been granted) a backend 'manager' account logs into the yii2-starter-kit admin and uses the file-storage upload action to upload a PHP webshell instead of an image, since the upload handler does not validate file type or extension. Because the uploaded file lands in the web-accessible storage directory, the attacker then browses directly to its URL, causing the server to execute the PHP and yielding arbitrary remote code execution under the web server's privileges. No public PoC is referenced, but the vendor advisory pinpoints the exact vulnerable controller line, making weaponization trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Authenticated users holding the backend 'manager' role in yii2-starter-kit through 4.2.0 can upload PHP scripts through the backend file-storage upload action and then request them from the web-accessible storage directory, achieving remote code execution as the web server user. The defect is an unrestricted file upload (CWE-434) with a CVSS 4.0 base score of 8.7 (PR:L, fully consistent with the assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H): exploitation is gated on manager-level authentication, on the backend file-storage module being enabled and reachable, and on the storage directory being served without script-execution restrictions, which is the default starter-kit layout. No public exploit code identified at time of analysis, and the practical priority is tempered by the authentication prerequisite and the niche footprint of the product, though the impact is total for any live deployment that meets those preconditions.
RemediationAI
No vendor-released patch identified at time of analysis - the references point only to the upstream GitHub issue and the vulnerable source blob, not to a fixed tagged release - so teams should treat the project's issue tracker (https://github.com/yii-starter-kit/yii2-starter-kit/issues/797) as the source of truth for a fix and plan to upgrade to the first release that adds server-side extension/MIME allow-listing to the StorageController upload action. Until then, apply layered compensating controls matching the exploitation prerequisites: enforce a strict allow-list (and reject .php, .phtml, .phar and similar) in the upload action itself or in a request-level middleware, which is the most direct fix but carries the side effect of potentially breaking legitimate uploads that rely on unusual extensions; move the storage directory outside the web root or, where that is impractical, disable script execution inside it (Apache: RemoveHandler/php_admin_flag engine off for that path, or equivalent location block with deny all for PHP in nginx), which neutralises execution without changing upload behaviour but must be verified because a stale server config can silently leave the hole open; disable the backend file-storage module entirely if managers do not need it, accepting the loss of that feature; and tighten RBAC so the 'manager' role is granted only to trusted staff, since PR:L means any manager account is a full RCE primitive - this does not remove the flaw and is only a reduction in attack surface. A WAF rule blocking multipart uploads whose filename ends in an executable PHP extension provides a useful backstop but is bypassable through encoding tricks and should never be the sole control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
yii2-starter-kit is an open-source application template built on the Yii 2 PHP framework, bundling a backend administrative area that includes a file-storage module. The vulnerable code path is the upload action in backend/modules/file/controllers/StorageController.php (referenced at line 36 of commit cc2c451e8c959c7300b04efea597706a38609f58), which accepts a multipart upload without validating the file type or extension. Under CWE-434 (Unrestricted Upload of File with Dangerous Type), the absence of an extension/MIME allow-list means an attacker-supplied filename such as shell.php is written verbatim into the storage directory, and because that directory is served by the web server without handler restrictions, the PHP interpreter executes the file when it is requested over HTTP. The CPE cpe:2.3:a:yii2-starter-kit:yii2-starter-kit:*:*:*:*:*:*:*:* uses a wildcard version, indicating the flaw is present in all releases up to and including 4.2.0 rather than being tied to a single tagged build; the reported vector uses PR:L, confirming the attacker must already be authenticated, and the Yii 2 RBAC layer is what confines this to accounts granted the backend 'manager' role.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network HTTP upload with low complexity and no interaction, but requires an authenticated manager account (PR:L); resulting arbitrary code execution yields full C/I/A, scope unchanged within the app host.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
yii2-starter-kit through 4.2.0 fails to validate file types in the backend storage upload actions, allowing authenticated managers to upload PHP files. Attackers with manager role can upload PHP scripts to the web-accessible storage directory and request them to execute arbitrary code on the server.
Executive ViewAI
Organizations running yii2-starter-kit through version 4.2.0 with the backend file-storage module enabled face a high-severity risk: an authenticated manager-level user can upload and execute arbitrary code as the web server user. Because this can lead to full compromise of the application server, sensitive data, and service integrity, leadership should prioritize identifying affected deployments and applying interim restrictions while no vendor-released patch has been identified at time of analysis. The immediate exposure is limited to environments where manager-level access has been granted and the default web-accessible storage layout is in place.
No vendor-released patch identified at time of analysis. Interim mitigations: disable or restrict the backend file-storage upload action and manager role access; configure the web server to prohibit script execution in the web-accessible storage directory; move uploaded files outside the web root; enforce strict allowlist file-type validation; enable upload and file-integrity logging; and review storage directories for malicious PHP files.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-90205
GHSA-hfh8-jhpw-h99w
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB