Skip to main content

Yii2 Starter Kit CVE-2026-103474

| EUVDEUVD-2026-90205 HIGH
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-09-30 VulnCheck GHSA-hfh8-jhpw-h99w
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as backend manager
  2. Delivery
    Access storage upload action
  3. Exploit
    Upload PHP file bypassing type check
  4. Execution
    File written to web-accessible dir
  5. Persist
    Request uploaded script via HTTP
  6. Impact
    Execute 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

yii2-starter-kit 0 ≤4.2.0

Affected Packages

euvd yii2_starter_kit no fix

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.7%
Top 48% exploitable
Prevalence
Low
Niche open-source Yii2 application scaffolding, forked per-project, limited production footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy