CVE-2018-25340: Smartshop 1 SQL Injection via category.php
Smartshop 1 contains a SQL injection vulnerability that allows unauthenticated attackers to execute arbitrary SQL queries by injecting malicious code through the id parameter. Attackers can send GET requests to category.php with UNION-based SQL injection payloads in the id parameter to extract sensitive database information including usernames and other data.
Security readout for executives and security teams
Plain-English summary
Smartshop 1, a free open-source e-commerce demo project, has a flaw in its category page that lets anyone on the internet trick the database into revealing stored information. No login is required. Because Smartshop 1 is an abandoned demo rather than a maintained commercial product, exposure is limited to sites that copied the code, but any live deployment should be considered at real risk of data theft.
Executive priority
Priority is high for any team knowingly running Smartshop 1, otherwise low. Confirm inventory quickly; if not in use, no action is required. If a site is live, treat it as an urgent data-exposure risk and plan replacement rather than long-term patching, given the product is unmaintained.
Technical view
The category.php script passes the id GET parameter into a SQL query without sanitization, enabling UNION-based SQL injection by unauthenticated remote attackers (CWE-89). Public proof-of-concept in ExploitDB-44823 demonstrates extraction of usernames and other database contents. CVSS 4.0 is 8.8 (AV:N/AC:L/PR:N/UI:N/VC:H). No vendor patch is referenced; Smartshop appears to be an unmaintained portfolio project on Behance and GitHub.
Likely exposure
Any internet-facing site running Smartshop 1 or a fork that retained the vulnerable category.php is exposed. Because the project is an unmaintained demo, adoption is likely small, but forks and student/portfolio deployments may still be online and reachable without authentication.
Exploitation context
A public exploit has been available on ExploitDB (44823) since 2018, and VulnCheck has published a third-party advisory. The vulnerability is not listed in CISA KEV, and no cited source confirms active in-the-wild exploitation, but the low complexity and public PoC make opportunistic scanning plausible.
Researcher notes
CWE-89 UNION-based injection via unauthenticated GET parameter. CVSS 4.0 vector shows VC:H but VI:L/VA:N, consistent with data disclosure rather than write or destructive impact. Vendor is listed as Behance because the project is hosted as a Behance gallery; actual source is smakosh/Smartshop on GitHub. No official patch, CPE, or vendor advisory is cited — remediation must be code-level or by replacement.
Mitigation direction
Take any public Smartshop 1 deployment offline until it can be replaced or hardened.
Replace direct SQL string concatenation in category.php with parameterized queries or prepared statements.
Migrate to a maintained e-commerce platform, since Smartshop is an unmaintained demo project.
Place a WAF in front of exposed instances to block UNION-based SQL injection patterns as an interim control.
Rotate database credentials and audit user tables if the site has been internet-exposed.
Validation and detection
Inventory web assets for any deployment or fork of smakosh/Smartshop, especially files named category.php.
Review category.php source for unsanitized use of $_GET['id'] in SQL statements.
Check web and database logs for anomalous requests to /category.php containing UNION, SELECT, or encoded SQL tokens.
Confirm the CVE-2018-25340 advisory details against the VulnCheck advisory and ExploitDB-44823 references.
Run authenticated dynamic scanning against non-production copies to verify the injection has been remediated.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-89: Database access and collection lookup
Injection into data stores can inform collection, data access, and exfiltration detection reviews. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-89 · source CWE mapping
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.