Description
Joomla Extension - dj-extensions.com - Unauthenticated Stored XSS in DJ-HelpfulArticles < 1.3.0 - The “was this article helpful” voting widget posts a client-supplied ip field to its AJAX handlers (getDeny, getConfirm, getDenyReason in mod_djhelpful_articles/helper.php), reachable without authentication through com_ajax. The value was stored exactly as submitted instead of being taken from the connection by the server. It was then printed without output escaping in the administrator backend’s “Helpful articles” overview (views/items/tmpl/default.php). $db->quote() was applied on insert, which protects the SQL statement but does nothing for HTML output. There was no CSRF token, no rate limit, and the vote de-duplication keyed on the same attacker-controlled field.
Published: 2026-10-27
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting (XSS) in administrator backend
Action: Immediate Patch
AI Analysis

Impact

An unauthenticated stored XSS vulnerability resides in the voting widget of DJ‑HelpfulArticles for Joomla. The widget accepts a client‑supplied IP address through an AJAX handler that is both reachable without authentication and lacks CSRF protection, and stores the value into the database verbatim. When an administrator views the helpful‑article votes, the unsanitized IP is rendered without escaping, permitting an attacker to inject and execute arbitrary script code in the administrator’s browser. This compromise can lead to credential theft, session hijacking, or the execution of arbitrary client‑side commands on any logged‑in administrator’s console.

Affected Systems

The flaw applies to the DJ‑HelpfulArticles extension distributed by dj‑extensions.com for Joomla, affecting all releases with a version number lower than 1.3.0. No further vendor or product variations are documented, so any system running a pre‑1.3.0 release of the extension is vulnerable.

Risk and Exploitability

The CVSS base score of 8.7 marks the issue as high severity. An EPSS score is not available. The attacker can exploit the flaw simply by sending a crafted request to the AJAX voting endpoint; no authentication, CSRF token, or rate limiting is required. The resulting malicious script runs in the context of the administrator back‑end, providing the attacker with client‑side control over the admin console. The vulnerability is not listed in the CISA KEV catalog.

Generated by OpenCVE AI on October 27, 2026 at 12:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade DJ‑HelpfulArticles to version 1.3.0 or newer where input is sanitized and output is properly escaped.
  • Restrict the AJAX voting endpoint so that only authenticated, authorized users can submit votes, or block unauthenticated requests at the web‑server or Joomla access‑level.
  • If an upgrade cannot be performed immediately, patch the displayed IP value in the admin template by applying output escaping functions such as htmlspecialchars or Joomla’s JHtml escape to prevent execution of injected code.
  • Monitor the database or the admin UI for suspicious script payloads that may indicate an attempt to exploit the stored XSS vulnerability.

Generated by OpenCVE AI on October 27, 2026 at 12:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Tue, 27 Oct 2026 11:30:00 +0000

Type Values Removed Values Added
Description Joomla Extension - dj-extensions.com - Unauthenticated Stored XSS in DJ-HelpfulArticles < 1.3.0 - The “was this article helpful” voting widget posts a client-supplied ip field to its AJAX handlers (getDeny, getConfirm, getDenyReason in mod_djhelpful_articles/helper.php), reachable without authentication through com_ajax. The value was stored exactly as submitted instead of being taken from the connection by the server. It was then printed without output escaping in the administrator backend’s “Helpful articles” overview (views/items/tmpl/default.php). $db->quote() was applied on insert, which protects the SQL statement but does nothing for HTML output. There was no CSRF token, no rate limit, and the vote de-duplication keyed on the same attacker-controlled field.
Title Joomla Extension - dj-extensions.com - Unauthenticated Stored XSS in DJ-HelpfulArticles < 1.3.0
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Joomla

Published:

Updated: 2026-10-27T11:06:50.198Z

Reserved: 2026-09-29T17:08:03.370Z

Link: CVE-2026-102800

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-27T12:17:04.137

Modified: 2026-10-27T15:08:50.630

Link: CVE-2026-102800

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-27T12:30:02Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')