Skip to main content

Joomla Easy Store EUVDEUVD-2026-85552

| CVE-2026-90902 HIGH
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-09-23 Joomla GHSA-jfxm-xpj3-6w92
8.6
CVSS 4.0 · Vendor: Joomla
View

Attack ChainAIDerived

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

  1. Access
    Obtain authenticated admin session
  2. Delivery
    Submit couponBulkUpdate with malicious ID list
  3. Exploit
    Injected SQL breaks out of IN() clause
  4. Execution
    Database reads/writes arbitrary data
  5. Impact
    Full DB confidentiality/integrity compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
Exploitation Conditions

Requires an authenticated Joomla administrator with access to the Easy Store (com_easystore) component's coupon management, and the Easy Store extension version 1.0.0 through 3.0.0 must be installed. The attacker reaches the flaw via the administrative task administrator/index.php?option=com_easystore&task=coupon.couponBulkUpdate by supplying non-integer, SQL-bearing values in the bulk coupon ID input. The primary limiting factor is the high privilege requirement (administrator), which sharply narrows the attacker population and reduces net escalation value since Joomla admins already have extensive database access.

Impact

This is a genuine SQL injection (the input reports CWE-74 injection; the described flaw is classic CWE-89 SQLi) but its real-world priority is moderate-to-low, not the 8.6 headline suggests. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H) drives the high score through full C/I/A impact, but the critical mitigating factor is PR:H - exploitation requires an already-authenticated Joomla administrator. In Joomla an administrator typically already has broad database and configuration access, so the SQLi mainly upgrades an admin to cleaner arbitrary DB read/write rather than granting a fresh boundary crossing. Corroborating low-urgency signals: EPSS is 0.25% (14th percentile), SSVC decides Exploitation=none, Automatable=no, Technical Impact=partial, there is no CISA KEV listing, and no public exploit code. All signals are consistent - high nominal severity but low likelihood and limited privilege escalation value. No conflicting data was found; the CVSS network vector is consistent with an admin HTTP endpoint (administrator/index.php).

Exploit ScenarioDerived

An attacker who already holds (or has phished/compromised) a Joomla administrator account with access to the Easy Store component crafts a request to administrator/index.php?option=com_easystore&task=coupon.couponBulkUpdate, embedding SQL syntax inside the coupon ID list instead of plain integers. Because the IDs are concatenated directly into a raw IN (...) clause, the injected syntax executes against the database, enabling data exfiltration or modification beyond the coupon table. No public exploit code is identified at time of analysis, and exploitation is not automatable per SSVC.

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

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

Alert me

AnalysisAIv2 – Sep 25, 2026

Authenticated SQL injection in the Easy Store extension for Joomla (versions 1.0.0 through 3.0.0) allows a Joomla administrator to inject arbitrary SQL through the coupon bulk update task at administrator/index.php?option=com_easystore&task=coupon.couponBulkUpdate. The flaw is a genuine injection (reported as CWE-74, functionally classic CWE-89 SQLi) where coupon IDs are concatenated straight into raw SQL IN (...) clauses instead of being cast to integers or parameterized. Exploitation is confirmed to require high privilege (PR:H in the assessed CVSS:3.1 vector), and there is no public exploit identified at time of analysis and no CISA KEV listing; EPSS is low at 0.25% (14th percentile), so despite the 8.6 headline score the practical priority is moderate-to-low because Joomla administrators already hold broad database-level trust.

Earlier versions of this analysis (1)
v1 Sep 23, 2026 - 19:17 CVSS 8.2

SQL injection in the EasyStore extension for Joomla (versions 1.0.0 through 3.0.0) allows an authenticated Joomla backend administrator to inject arbitrary SQL syntax through the coupon bulk update task at administrator/index.php?option=com_easystore&task=coupon.couponBulkUpdate, because the supplied coupon/product IDs were concatenated directly into a raw SQL IN (...) clause without sanitization or parameter binding. The decisive limitation is the high privilege prerequisite: the attacker must already hold administrator rights, making this an insider or post-compromise data-exfiltration vector rather than an unauthenticated remote flaw - our assessment scores it CVSS 3.1 AV:N/AC:L/PR:H/UI:N with high confidentiality, low integrity and no availability impact, and explicitly notes that the vendor CVSS 4.0 vector's PR:N metric contradicts that prerequisite. There is no public exploit identified at time of analysis, and exploitation requires only that the EasyStore extension be installed and the coupon feature reachable in the backend; the flaw is a real but modest-priority issue whose raw 8.2 HIGH score overstates practical risk.

RemediationAI

Vendor fix identified: the bulk coupon update handler was hardened by casting all submitted coupon IDs to integers (array_map('intval', ...)) and switching to parameterized ->whereIn() query construction; a released patched version number is not independently confirmed in the available data, so administrators should update Easy Store to the latest release beyond 3.0.0 from https://www.joomshaper.com/easystore and verify the installed version afterwards. If an immediate upgrade is not possible, compensating controls with their trade-offs are: restrict the Joomla administrator group so that only trusted accounts hold com_easystore management rights and strip coupon-management ACL from lower-privileged backend users (this reduces the authenticated attack surface but does not remove the flaw for remaining admins); uninstall or unpublish the Easy Store extension on sites that do not use its coupon features (eliminates exposure but removes e-commerce functionality); and deploy WAF/reverse-proxy rules that reject non-integer values in the coupon bulk update ID parameter while alerting on requests to task=coupon.couponBulkUpdate with SQL metacharacters (a detection layer that can be bypassed by encoding tricks and may generate false positives on legitimate bulk operations). Also review Joomla and database logs for anomalous SQL errors or unexpected coupon-table modifications that could indicate prior abuse by an over-privileged account.

Affected VersionsENISA

Easy Store extension for Joomla 1.0.0-3.0.0

Affected Packages

euvd easy_store_extension_for_joomla 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

Easy Store (com_easystore) is a third-party e-commerce component for Joomla published by Joomshaper. The vulnerable code path is the coupon bulk update task, which routes admin-supplied coupon identifier input into raw SQL IN (...) clauses built in ProductCoupon.php and CouponsModel.php using direct string concatenation, providing neither type validation nor parameter binding. The reported CWE-74 (improper neutralization of special elements in output used by a downstream component) describes the injection class neutrally, while the concrete defect is SQL injection (CWE-89): untrusted input crossing into a SQL query interpreter. Because the query is executed with the database privileges of the Joomla application, a successful injection can read or modify data across the site's MySQL/MariaDB schema, not just the coupon tables. The CPE cpe:2.3:a:joomshaper.com:easy_store_extension_for_joomla:*:*:*:*:*:*:*:* confirms the affected package is the Joomshaper Easy Store extension itself rather than core Joomla. The vendor fix replaces the concatenation with strict integer casting (array_map('intval', ...)) on all submitted IDs and rebuilds the clauses via parameterized ->whereIn() construction, which removes attacker control over SQL syntax.

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 (Joomla) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.2 HIGH

Network admin HTTP endpoint with low complexity but PR:H (administrator required); SQLi yields full arbitrary DB read/write so C/I/A all High, scope unchanged (same DB).

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

Primary rating from Vendor (Joomla).

CVSS VectorVendor: Joomla

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
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

Lifecycle Timeline

2
CVSS changed
Sep 25, 2026 - 18:22 NVD
8.2 (HIGH) 8.6 (HIGH)
CVE Published
Sep 23, 2026 - 18:39 cve.org
HIGH 8.2

DescriptionCVE.org

Joomla Extension - joomshaper.com - Authenticated, Privileged SQL Injection in Coupon Bulk Update in Easy Store extension 1.0.0-3.0.0 - The coupon bulk update task (administrator/index.php?option=com_easystore&task=coupon.couponBulkUpdate) took input IDs and directly concatenated them into raw SQL IN (...) clauses in ProductCoupon.php and CouponsModel.php without sanitization or parameterization. An authenticated administrator could manipulate the query through injected SQL syntax. Resolved by strictly casting all IDs to integers (array_map('intval', ...)) and adopting parameterized ->whereIn() query construction.

Executive ViewAI

Why It Matters

A SQL injection vulnerability in the Easy Store extension for Joomla (versions 1.0.0 through 3.0.0) lets an authenticated Joomla administrator execute arbitrary database queries through the coupon bulk update function. Because exploitation requires full administrator rights - a level of access that already carries broad database trust - the practical risk is moderate, but any compromise or misuse of admin credentials could expose or alter store and customer data. Leadership should note that no vendor-released patch is currently available, so risk must be managed through access restrictions and monitoring.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict administrator interface access to trusted IP ranges and enforce MFA, disable the coupon bulk update feature or the com_easystore component if unused, deploy WAF rules filtering SQL metacharacters on the option=com_easystore&task=coupon.couponBulkUpdate endpoint, enforce least privilege on Joomla administrator accounts, and monitor Joomla and database audit logs for anomalous SQL activity.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche commercial e-commerce add-on for Joomla, limited install base
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.2%
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
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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