Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2017-20279

CVE-2017-20279: Joomla Payage SQL Injection Vulnerability

CVE-2017-20279 is an SQL injection flaw in Joomla Payage 2.05 that allows unauthenticated attackers to manipulate database queries through the aid parameter. This post covers technical details, impact, and mitigation.

Published:

CVE-2017-20279 Overview

CVE-2017-20279 is a SQL injection vulnerability in the Joomla Payage 2.05 extension. The flaw exists in the aid parameter processed by the make_payment task within index.php. Unauthenticated attackers can inject arbitrary SQL into backend database queries through crafted GET requests. Exploitation supports boolean-based blind and time-based blind techniques, enabling extraction of sensitive database contents. The vulnerability is classified under CWE-89 and is exploitable remotely over the network without user interaction.

Critical Impact

Unauthenticated remote attackers can extract arbitrary data from the Joomla database, including credentials and session material, by injecting SQL through the aid parameter.

Affected Products

  • Joomla Payage extension version 2.05
  • Joomla CMS installations with the Payage component enabled
  • Web applications exposing the com_payagemake_payment task

Discovery Timeline

  • 2026-06-19 - CVE-2017-20279 published to NVD
  • 2026-06-22 - Last updated in NVD database

Technical Details for CVE-2017-20279

Vulnerability Analysis

The Payage 2.05 extension for Joomla fails to sanitize the aid request parameter before incorporating it into a SQL query. When a client invokes the make_payment task on index.php, the component passes the attacker-controlled aid value directly into the database layer. This allows arbitrary SQL fragments to be concatenated into the executed statement. The defect maps to CWE-89: Improper Neutralization of Special Elements used in an SQL Command.

Root Cause

The root cause is missing input validation and a lack of parameterized queries in the Payage component. The aid parameter is treated as trusted input and inserted into a dynamically built SQL string. No type casting, escaping, or prepared statement binding is applied before query execution.

Attack Vector

The attack vector is network-based and requires no authentication or user interaction. An attacker issues HTTP GET requests to index.php specifying the Payage component and the make_payment task, with a malicious payload in the aid parameter. Because the response timing and content vary with the injected SQL, the flaw supports both boolean-based blind and time-based blind extraction. Tooling such as automated SQL injection scanners can enumerate tables, columns, and rows without producing visible error output.

No verified proof-of-concept code is reproduced here. Refer to the Exploit-DB entry #42113 and the VulnCheck Advisory on Joomla Payage SQL Injection for request-level details.

Detection Methods for CVE-2017-20279

Indicators of Compromise

  • GET requests to index.php containing option=com_payage and task=make_payment with SQL metacharacters in the aid parameter.
  • Web server access logs showing aid values that include UNION, SELECT, SLEEP(, BENCHMARK(, AND 1=1, or encoded equivalents.
  • Abnormally long response times correlated with requests to the Payage make_payment endpoint, consistent with time-based blind injection.
  • Database error entries referencing the Payage component or unexpected query fragments.

Detection Strategies

  • Inspect HTTP logs for repeated requests to the com_payagemake_payment task originating from a single source within short time windows.
  • Deploy web application firewall (WAF) rules that flag SQL syntax tokens in the aid query string parameter.
  • Correlate Joomla application logs with database query logs to identify malformed or unusually structured statements targeting Payage tables.

Monitoring Recommendations

  • Enable verbose query logging on the Joomla database and alert on statements containing concatenated boolean tautologies or sleep functions.
  • Monitor outbound traffic from the web server for anomalous data egress following requests to the Payage component.
  • Track failed and successful authentication events that occur shortly after suspicious aid parameter activity, which may indicate credential extraction.

How to Mitigate CVE-2017-20279

Immediate Actions Required

  • Disable the Payage 2.05 extension in the Joomla administrator console until a fixed version is confirmed available.
  • Block or rate-limit external access to index.php?option=com_payage&task=make_payment at the reverse proxy or WAF layer.
  • Review database audit logs for evidence of prior exploitation and rotate any credentials, API keys, or tokens stored in the affected database.

Patch Information

No vendor patch reference is included in the NVD entry for CVE-2017-20279. Administrators should consult the Joomla extensions directory and the VulnCheck Advisory on Joomla Payage SQL Injection for current remediation status. If a fixed release is unavailable, removal of the Payage component is recommended.

Workarounds

  • Uninstall the Payage component if a payment workflow alternative exists.
  • Add WAF signatures that reject non-numeric values in the aid parameter, since the field is expected to be an integer identifier.
  • Restrict access to the make_payment task to authenticated sessions through Joomla access control list (ACL) configuration where possible.
  • Apply virtual patching at the proxy layer to enforce strict input typing on Joomla request parameters until the component is updated or removed.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.