Skip to main content

EasyStore CVE-2026-90903

| EUVDEUVD-2026-85558 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-09-23 Joomla GHSA-crc8-cwj2-cw39
7.2
CVSS 4.0 · Vendor: Joomla
View

Attack ChainAIDerived

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

  1. Access
    Host malicious page with forged requests
  2. Delivery
    Phish logged-in Joomla admin to visit
  3. Exploit
    Browser auto-submits to unprotected AJAX endpoints
  4. Execution
    Store state modified without CSRF token
  5. Impact
    Orders/coupons/settings tampered

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a Joomla administrator to be actively authenticated to the backend AND to be tricked into visiting an attacker-controlled page or clicking a malicious link (UI:P) while that session is valid. Applies to EasyStore extension versions 1.0.0 through 3.0.0 where any administrative AJAX endpoint other than products() (i.e. orders, coupons, media, customers, settings, tags, categories, reviews, collections) processes state-changing HTTP methods. Limiting factors: exploitation fails if the admin is not logged in, if the admin does not interact with the attacker's content, or once the site is updated to the patched build that enforces global CSRF verification in ApiController::execute().

Impact

This is a classic CSRF (CWE-352) flaw with a moderate real-world risk profile. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:H, 7.2) correctly captures the defining CSRF characteristics: the attacker themselves is unauthenticated (PR:N) but exploitation is gated on user interaction (UI:P) by a currently-logged-in Joomla administrator, which is the single biggest real-world limiter. No EPSS score, no CISA KEV listing, and no public exploit code are provided, so exploitation status is 'no public exploit identified at time of analysis' - this is not confirmed active exploitation. The VI:H/VA:H impact rating is defensible because forged requests can create/modify/delete orders, coupons, customers, settings, categories, reviews and collections, but I lean toward VA:L rather than VA:H since CSRF-driven state changes are integrity-centric and only indirectly affect availability. Overall this is a genuine-but-conditional issue rather than a drop-everything emergency: high integrity impact is real, but the requirement to phish an authenticated admin into visiting an attacker page, combined with the niche deployment footprint of this specific Joomla e-commerce extension, keeps practical risk in the medium band. Only vendor-confirmed data (JoomShaper/Joomla) is available; there is no independent NVD enrichment or third-party analysis.

Exploit ScenarioDerived

An attacker crafts a malicious web page containing auto-submitting forms (or fetch/XHR calls) targeting EasyStore's unprotected administrator AJAX endpoints such as orders, coupons, settings, or customers. They lure a currently-authenticated Joomla administrator to that page, and the victim's browser silently issues state-changing POST/PUT/PATCH/DELETE requests using the admin's session - modifying store data without any CSRF token. No public exploit code is referenced, but a working proof-of-concept is trivial to build given the plain missing-token nature of the bug.

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

AnalysisAIv1 – Sep 23, 2026

EasyStore for Joomla versions 1.0.0 through 3.0.0 does not enforce CSRF token verification across most administrator AJAX endpoints, enabling an attacker to trick a logged-in Joomla administrator into changing store data such as orders, coupons, media, customers, settings, tags, categories, reviews, and collections. Only the products() action checked tokens; the vendor fix moves verification into ApiController::execute() and applies Session::checkToken() to POST, PUT, PATCH, and DELETE requests. No public exploit code was identified at time of analysis, and exploitation requires an active admin session plus user interaction, so this is a moderate-risk CSRF issue despite the potential for high integrity and availability impact.

RemediationAI

Patch available per vendor advisory: update the EasyStore extension to the release that implements global CSRF verification in ApiController::execute() via Session::checkToken() for POST, PUT, PATCH, and DELETE. The input does not provide an exact patched version beyond the affected 1.0.0-3.0.0 range, so consult https://www.joomshaper.com/easystore. If immediate patching is not possible, reduce exposure by keeping Joomla administrator sessions logged out when not in use, restricting administrator access to trusted IP addresses or VPN (side effect: limits legitimate remote administration), and adding proxy or WAF checks that reject cross-site state-changing requests to administrator AJAX endpoints unless Origin or Referer matches the site (trade-off: possible false positives for legitimate clients or privacy tools). Enforcing SameSite=Strict on Joomla administrator session cookies can also blunt CSRF but may break some cross-site workflows and should be tested before production rollout.

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

EasyStore is a Joomla e-commerce extension whose administrative backend exposes AJAX API actions through an ApiController. CSRF (CWE-352) occurs because the application relies on browser-managed session cookies to authenticate administrator requests but fails to require an unpredictable anti-CSRF token for state-changing operations. In affected builds, ApiController only validated tokens in the products() action; orders, coupons, media, customers, settings, tags, categories, reviews, and collections accepted POST, PUT, PATCH, and DELETE requests without calling Session::checkToken(), allowing cross-site requests to inherit the administrator's authenticated session. The CPE cpe:2.3:a:joomshaper.com:easy_store_extension_for_joomla:*:*:*:*:*:*:*:* identifies the extension, while the description restricts vulnerable releases to 1.0.0 through 3.0.0. The patch implements global CSRF verification in ApiController::execute() for state-changing HTTP methods, closing the per-action gap.

Know when Easy Store Extension For Joomla 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 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.6 HIGH

PR:N because the attacker is unauthenticated, but UI:R since a logged-in admin must be tricked into acting; I:H for broad forged state changes, C:L/A:L as data exposure and disruption are secondary.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:L/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
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Joomla Extension - joomshaper.com - Missing CSRF Token Verification across Administrator AJAX API Endpoints in Easy Store extension 1.0.0-3.0.0 - The administrator ApiController only validated CSRF tokens inside the products() action. All other administrative AJAX endpoints (orders, coupons, media, customers, settings, tags, categories, reviews, and collections) accepted state-changing requests without checking anti-CSRF tokens. An attacker could trick a logged-in administrator into triggering unauthorized state modifications across the store backend. Resolved by implementing global CSRF verification in ApiController::execute() for all state-changing HTTP methods (POST, PUT, PATCH, DELETE) via Session::checkToken().

Executive ViewAI

Why It Matters

Versions 1.0.0 through 3.0.0 of the EasyStore extension for Joomla omit CSRF token checks on nearly all administrator AJAX endpoints, leaving the store-management console open to cross-site request forgery against any administrator with an active session. A successful attack could let an outsider silently alter orders, coupons, customer records, pricing, media, tags, categories, reviews, and configuration settings - undermining the integrity of e-commerce transactions and the accuracy of customer data, with knock-on availability effects if store settings are corrupted. Because the issue is rated HIGH (CVSS 7.2) and no vendor-released patch has been identified at time of analysis, store operators, finance, and customer-facing teams should be treated as exposed until mitigation is in place. No public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations: restrict administrator access to trusted networks or IP allowlists, enforce SameSite=Strict session cookies and require administrators to log out when idle, deploy WAF/reverse-proxy rules blocking cross-origin state-changing requests to administrator AJAX endpoints, reduce super-user accounts, and enable monitoring and alerting on unexpected changes to orders, coupons, customers, and settings until a vendor fix is available.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche third-party e-commerce extension for Joomla, limited install base
Data Quality
3 sources
Confidence: Low

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
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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