Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach /opils/admin/addproduct.php
-
ExploitInject SQL via prodcategory parameter
-
ExecutionDatabase executes crafted query
-
ImpactExtract or modify stored data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires reaching the administrative endpoint /opils/admin/addproduct.php and supplying a malicious value in the 'prodcategory' request parameter, which is passed unsanitized into a SQL query. The VulDB vector marks it remotely exploitable with no user interaction and PR:N, but because this is an /admin/ script, realistic exploitation likely presupposes access to the admin interface (either a valid admin session or a product-add page that lacks a session check) - this authentication requirement is the key limiting factor and is not confirmed in the input. No special non-default configuration is otherwise named; the affected version is fixed at Performance Indicator System 1.0. |
| Impact | Signals are mixed and point to a moderate, opportunistic risk rather than an urgent priority. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with only Low impacts to confidentiality, integrity and availability yields a 6.9 (Medium), and the exploit maturity is explicitly E:P (proof-of-concept), consistent with the public POC. This is NOT in CISA KEV - no evidence of active exploitation - so the correct status is 'publicly available exploit code exists', which must not be conflated with in-the-wild use. No EPSS score was provided, so exploitation probability cannot be quantified from the input. The most important caveat: the vulnerable file is /opils/admin/addproduct.php, an administrative endpoint, yet the vendor (VulDB) vector asserts PR:N (unauthenticated). This is a conflict - an admin-area script normally implies some authentication, and VulDB routinely over-rates SourceCodester admin pages as PR:N; verify whether addproduct.php enforces a session check before treating this as unauthenticated. Overall this reads as a real but low-urgency, low-prevalence (hobby PHP project) SQLi with a public PoC, not a high-real-risk flaw. |
| Exploit ScenarioDerived | An attacker reaches the admin product-add page and submits a crafted value in the 'prodcategory' parameter of /opils/admin/addproduct.php, injecting SQL that the backend executes against the application database. A public proof-of-concept exists (linked GitHub issue), lowering the skill needed to reproduce it; a successful injection can read, alter, or in some configurations enumerate database contents. Whether this requires a prior admin login depends on whether the endpoint enforces authentication, which is not confirmed in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
SQL injection in SourceCodester Performance Indicator System 1.0 lets an attacker inject arbitrary SQL through the 'prodcategory' parameter handled by /opils/admin/addproduct.php, allowing manipulation of the underlying database contents and disclosure of stored data. The vulnerable endpoint sits under /admin/, so realistic exploitation most likely requires either a valid administrative session or an add-product page that lacks an adequate session check, which the independent assessment captures by scoring the issue PR:L rather than PR:N; the vendor-style vector instead lists PR:N, and that authentication requirement remains the key unconfirmed limiting factor. Publicly available exploit code exists for this issue, raising the likelihood of opportunistic scanning and abuse, though impact is bounded to low confidentiality, integrity and availability effects (CVSS 3.1 base 6.9, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) and no CISA KEV listing indicates confirmed active exploitation.
RemediationAI
No vendor-released patch identified at time of analysis: SourceCodester publishes these applications as downloadable PHP projects with no tracked fix version, and none of the supplied references point to a tagged release or upstream commit, so upgrading is not currently a usable remedy. The durable fix is code-level - replace string-concatenated SQL in /opils/admin/addproduct.php with parameterized statements or prepared statements (PDO/mysqli) for the 'prodcategory' parameter, and validate it against an allow-list of known category values - which requires the operator to maintain a local patch since the vendor will not supply one; any local fork must be re-applied after future re-downloads. Until then, use compensating controls with known trade-offs: remove or rename the /opils/admin/ directory (or the whole installer/demo) on any internet-facing instance, which breaks the admin workflow for legitimate users; enforce authentication and an authorized-session check at the top of every admin script before any database call, acknowledging that this only raises the bar and does not fix the injection; restrict access to /opils/admin/ by IP allow-list or HTTP basic authentication at the reverse proxy, which fails for roaming staff; and deploy a WAF rule targeting SQL metacharacters in the 'prodcategory' parameter, which is bypassable and should be treated as detection rather than prevention. Because publicly available exploit code exists, log and review requests to addproduct.php for suspicious parameter payloads, and rotate database credentials if compromise is suspected. Monitor https://vuldb.com/vuln/416782 for updated remediation information.
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 flaw is a classic CWE-89 improper neutralization of special elements used in an SQL command. The application is a PHP web application (SourceCodester Performance Indicator System 1.0) that builds a database query from the user-supplied 'prodcategory' argument in /opils/admin/addproduct.php without using prepared statements or parameter binding, so attacker-controlled text is concatenated into the SQL string and interpreted as SQL syntax. Because the parameter feeds a product-creation routine, exploitation can subvert INSERT/SELECT logic, return unintended rows, or corrupt data in the backing MySQL-style database; the CPE string cpe:2.3:a:sourcecodester:performance_indicator_system:*:*:*:*:*:*:*:* confirms the product has no versioned CPE distinction, matching the single fixed 1.0 release. The endpoint name implies an administrative functional area, which is why the authoritative assessment (CVSS 3.1, PR:L) treats authenticated access - or an unprotected admin script - as the realistic prerequisite, even though the input's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/E:P) records no privileges and no user interaction. Tags PHP, SQLi and Performance Indicator System align with the reported VulDB entry.
Know when Performance Indicator 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
Network-reachable, low-complexity injection with no UI; PR:L because the vulnerable script sits under /admin/ and likely needs an authenticated session, with limited C/I/A per the single-parameter SQLi.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was found in SourceCodester Performance Indicator System 1.0. This affects an unknown part of the file /opils/admin/addproduct.php. Performing a manipulation of the argument prodcategory results in sql injection. The attack can be initiated remotely. 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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in Performance Indicator System
View allSQL injection in SourceCodester Performance Indicator System 1.0 lets a remote attacker manipulate the ID argument of /o
SQL injection in the 'credit' parameter handled by /opils/staff/edit_credit.php in SourceCodester Performance Indicator
SQL injection in SourceCodester Performance Indicator System 1.0 allows remote attackers to manipulate the Category argu
SQL injection in SourceCodester Performance Indicator System 1.0 lets a remote attacker inject arbitrary SQL through the
SQL injection in SourceCodester Performance Indicator System 1.0 lets remote attackers alter SQL statements executed by
SQL injection in the Contact argument handled by /opils/staff/adddealer.php in SourceCodester Performance Indicator Syst
Authenticated remote attackers can exploit a SQL injection vulnerability in SourceCodester Performance Indicator System
A vulnerability was found in SourceCodester Performance Indicator System 1.0. Rated medium severity (CVSS 5.4), this vul
SQL injection in SourceCodester Performance Indicator System 1.0 allows low-privilege authenticated attackers to manipul
SQL injection in SourceCodester Performance Indicator System 1.0 lets a remote attacker who can authenticate to the admi
EUVD-2026-98278
GHSA-phpq-mj56-6cg9
NVD
CVE.org
EPSS
VulDB
Exploit-DB