Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend multipart POST to admin_class.php
-
DeliverySupply PHP webshell as img file argument
-
ExploitServer saves file without type validation
-
ExecutionAttacker requests uploaded webshell URL
-
ImpactExecute arbitrary OS commands as web server user
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 | The vulnerable code path is the save_settings function in admin_class.php, triggered via the img file upload parameter. The provided CVSS 4.0 vector asserts PR:N (no privileges required), which would mean the endpoint is reachable without authentication - however, this conflicts with the admin_class.php naming convention, which typically implies an active admin session. This discrepancy is unresolved from available data and should be independently verified by inspecting the application's session checks before the save_settings call. Exploitation also requires that the web server be configured to execute PHP files in the upload destination directory - if the upload path is outside the web root or PHP execution is disabled there, webshell execution is blocked even if upload succeeds. No special non-default configuration is described beyond the application running on a PHP-enabled web server with a writable upload directory. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) and the E:P exploitation tag (POC publicly available) paint a concerning picture: zero barriers to network exploitation, no user interaction required, and functional exploit code already public. However, the impact metrics (VC:L/VI:L/VA:L) appear conservative for an unrestricted PHP file upload - if a webshell can be uploaded and executed, confidentiality, integrity, and availability impacts should realistically be High, not Low, suggesting the CVSS scoring may reflect limited upload directory access or some server-side restriction not described in the advisory. The PR:N rating conflicts with the admin_class.php context, which typically implies an authenticated admin session; this discrepancy should be verified with the vendor or by reviewing the source. No EPSS score was provided in the input data, and the vulnerability is not listed in CISA KEV, meaning active exploitation is not confirmed - though POC availability substantially lowers the effort required for opportunistic attackers. Given that itsourcecode scripts are widely cloned and deployed without hardening, even small deployments represent low-hanging fruit for automated scanning and exploitation tools. |
| Exploit ScenarioDerived | An attacker sends a crafted HTTP multipart POST request to admin_class.php targeting the save_settings function, supplying a PHP webshell (e.g., <?php system($_GET['cmd']); ?>) as the img file parameter. If the server saves the file to a web-accessible directory without extension validation, the attacker issues a second GET request to the uploaded file's URL, passing OS commands via the query string. A public proof-of-concept demonstrating this sequence is available at the GitHub reference linked in the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 24, 2026
Unrestricted file upload in itsourcecode Payroll System 1.0 exposes the application to potential remote code execution through the save_settings function in admin_class.php, where the img parameter accepts files without validating type or content. The CVSS 4.0 vector indicates network-accessible exploitation with no privileges required (PR:N), meaning an attacker can submit a crafted multipart request to upload a PHP webshell directly. A public proof-of-concept exploit exists per the GitHub reference and VulDB reporting; this is not confirmed in CISA KEV, but the low barrier to exploitation combined with POC availability elevates real-world risk beyond the 6.9 score implies.
RemediationAI
No vendor-released patch has been identified at time of analysis - the itsourcecode.com site does not appear to have published a security advisory for this CVE. As a primary mitigation, restrict the save_settings endpoint in admin_class.php to authenticated admin sessions only and implement a strict server-side allowlist validating uploaded file extensions against a safe set (e.g., jpg, png, gif only) rather than a blocklist. Additionally, configure the web server to deny PHP execution within the upload directory (e.g., via .htaccess deny from all or Nginx location block with deny), which prevents webshell invocation even if an unsafe file is uploaded. Store uploaded files outside the web root where possible, serving them through a controller that streams content with a forced Content-Type. If the application cannot be patched immediately, consider placing the admin interface behind a VPN or IP allowlist. References: VulDB entry https://vuldb.com/vuln/394579, exploit PoC https://github.com/microwaveabi/vul/issues/12.
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
The vulnerability is classified as CWE-434 (Unrestricted Upload of File with Dangerous Type), a root-cause class where server-side code fails to validate uploaded file extensions, MIME types, or content signatures before saving them to a web-accessible directory. The affected product is a PHP-based payroll management script identified via CPE cpe:2.3:a:itsourcecode:payroll_system:*:*:*:*:*:*:*:* - a free, open-source application distributed by itsourcecode.com, commonly used by small businesses and students in tutorial contexts. The vulnerable code path is the save_settings function in admin_class.php, which processes a user-supplied img argument and appears to write the uploaded file to disk without enforcing allowlist-based validation. In PHP environments where the upload destination is web-accessible, this permits an attacker to upload a .php webshell and invoke it via a subsequent HTTP GET request, turning an upload flaw into full remote code execution.
Know when Payroll System 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:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Unrestricted PHP webshell upload enables full RCE with scope change; PR:L assumed given admin_class context despite PR:N in provided CVSS 4.0.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was found in itsourcecode Payroll System 1.0. This affects the function save_settings of the file admin_class.php. The manipulation of the argument img results in unrestricted upload. The attack may be performed from remote. The exploit has been made public and could be used.
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.
More in Payroll System
View allUnauthenticated remote access to the CRUD operation handler in itsourcecode Payroll System 1.0 allows any network-access
SQL injection in CodeAstro Payroll System 1.0 exposes payroll data to manipulation by authenticated low-privilege users
SQL injection in CodeAstro Payroll System 1.0 exposes database records to manipulation via the ID parameter in /view_acc
SQL injection in CodeAstro Payroll System 1.0 allows remote authenticated attackers with low-privilege credentials to ma
EUVD-2026-64741
GHSA-m97g-v75h-3qvg
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB