CVE-2017-20267: SQL Injection in Joomla! Calendar Planner 1.0.1
The Joomla! Calendar Planner component version 1.0.1 suffers from an SQL injection flaw that allows attackers to execute arbitrary SQL queries without authentication. By crafting malicious GET requests to the events view with specially crafted SQL code in the category_id parameter, an attacker can bypass database access controls and extract sensitive information directly from the underlying database. This vulnerability is particularly concerning because it requires no user interaction, no prior access, and can be exploited by anyone with network connectivity to the affected system.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.2 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
- Weaknesses (CWE)
- CWE-89
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-19 / 2026-06-22
NVD description (verbatim)
Joomla! Component Calendar Planner 1.0.1 contains an SQL injection vulnerability that allows unauthenticated attackers to inject SQL commands through the category_id parameter. Attackers can send GET requests to the events view with malicious SQL code in the category_id parameter to extract sensitive database information.
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2017-20267 is a classic SQL injection vulnerability (CWE-89) in the Calendar Planner Joomla! component affecting version 1.0.1. The vulnerability exists in the events view's handling of the category_id parameter, which fails to properly sanitize or parameterize user input before incorporating it into SQL queries. An unauthenticated attacker can submit crafted SQL syntax through the GET parameter to manipulate the query logic, enabling extraction of arbitrary database records. The CVSS 3.1 score of 8.2 reflects the high confidentiality impact, modest integrity impact (potential for data modification depending on database permissions), and absence of availability impact.
Business impact
Successful exploitation could result in unauthorized access to sensitive business data stored in the Joomla! database, including user credentials, personal information, configuration details, and proprietary content. While the vulnerability does not directly enable deletion or system-wide disruption, attackers can read and potentially modify data, leading to compliance violations (GDPR, HIPAA, PCI-DSS), reputational harm, and breach notification obligations. Organizations relying on the Calendar Planner component for customer-facing scheduling or internal event management face elevated risk if the component is exposed to untrusted networks.
Affected systems
Joomla! installations using Calendar Planner component version 1.0.1 are affected. No evidence of the vulnerability in other versions has been documented in this advisory; however, organizations should verify whether their deployed version is within scope and whether any earlier or later versions may contain similar flaws by consulting the component vendor's security bulletins.
Exploitability
This vulnerability exhibits high exploitability. The attack vector is network-based, requires no authentication, no user interaction, and no special privileges. A simple HTTP GET request with injected SQL syntax is sufficient to trigger the flaw. No specialized tools beyond a web browser or curl are required. However, exploitation success depends on the attacker's knowledge of the database schema and the specific SQL dialect in use; blind SQL injection techniques may be necessary if error messages are suppressed. The vulnerability is not currently tracked in the CISA Known Exploited Vulnerabilities catalog.
Remediation
Immediate action is required: disable or remove the Calendar Planner component version 1.0.1 if it is not essential to operations. Contact the component vendor to determine whether a patched version is available; if a fix exists, prioritize upgrading to the latest patched release. As an interim measure, implement Web Application Firewall (WAF) rules to detect and block SQL injection patterns in the category_id parameter, and restrict network access to the Joomla! administration interface and affected views to trusted IP ranges. Conduct a security audit of your Joomla! installation to identify whether similar input validation weaknesses exist in other components.
Patch guidance
Verify the availability of a patched version from the Calendar Planner component vendor. Update guidance should reference the vendor's official security advisory and release notes. Apply patches in a controlled manner: test in a staging environment first to ensure compatibility with your Joomla! version and any dependent extensions, then deploy to production during a maintenance window. After patching, validate that the category_id parameter is properly escaped and that the WAF rules are adjusted if they were previously in place as a workaround.
Detection guidance
Monitor web server and application logs for GET requests to the events view containing unusual SQL syntax in the category_id parameter (e.g., single quotes, SQL keywords like UNION, SELECT, OR, comments such as -- or /**/). Deploy Web Application Firewall rules targeting CWE-89 patterns. Implement database activity monitoring to detect unexpected queries or data access patterns originating from the web application tier. Consider enabling verbose error logging to catch failed injection attempts, but ensure error messages are not exposed to end users. Check for indicators of compromise such as new database user accounts, altered table structures, or unusual data exports from the application logs.
Why prioritize this
This vulnerability merits high prioritization due to its CVSS 8.2 severity, unauthenticated network exploitability, and direct impact on confidentiality and integrity of sensitive database content. The simplicity of exploitation means remediation delay increases breach risk. Organizations using the affected component should treat this as a critical issue requiring immediate patching or mitigation.
Risk score, explained
The CVSS 3.1 score of 8.2 (HIGH) reflects: (1) network-based attack vector requiring no user interaction or privileges; (2) low complexity, meaning the attack can be mounted with basic tools; (3) high confidentiality impact, as attackers can read arbitrary database records; (4) low integrity impact, suggesting limited ability to modify critical system files or configurations (though database modification is possible); (5) no availability impact, as the vulnerability does not enable denial of service. The score appropriately captures the serious but not catastrophic nature of the flaw.
Frequently asked questions
Do we need to patch immediately, or can we delay if we have a WAF in place?
WAF mitigation is a temporary control and should not replace patching. WAF rules can be bypassed with evasion techniques, and relying solely on WAF leaves you exposed to insider threats or misconfigured rules. Plan for urgent patching in the next maintenance window (24-72 hours for critical systems) while maintaining WAF protection in parallel.
How can we check if our database has been compromised by this vulnerability?
Review database access logs for unusual queries executed from the web application user account, particularly SELECT statements returning large datasets or accessing sensitive tables. Look for new user accounts created without authorization, and compare database backups from before and after the vulnerability window for unexpected changes. If your environment supports query auditing, export and analyze all queries executed against the affected Joomla! database during the exposure period.
Are there any other Joomla! components with similar SQL injection risks we should check?
SQL injection vulnerabilities in third-party Joomla! extensions are not uncommon. Audit all custom and less-maintained extensions for proper input validation and parameterized queries. Prioritize components that interact with the database directly or handle user-supplied category, ID, or search parameters. Consider using static code analysis tools or hiring a third-party security assessment to review your extension stack.
What is the difference between this vulnerability and a Cross-Site Scripting (XSS) flaw?
SQL injection allows attackers to manipulate backend database queries to read or modify data; it operates at the application-database interface. XSS allows attackers to inject malicious scripts into web pages served to other users; it operates at the client browser level. SQL injection typically has higher severity because it directly threatens database confidentiality and integrity, whereas XSS primarily threatens user sessions and data in the browser.
This analysis is provided for informational purposes to assist security leaders in risk prioritization and remediation planning. The information reflects the vulnerability as publicly disclosed and known as of the publication date. Vendor patch information should be verified against official vendor advisories before deployment. No exploit code is provided herein. Organizations should conduct their own risk assessments based on their specific network topology, data sensitivity, and business context. SEC.co assumes no liability for the accuracy of third-party vendor statements or the completeness of patch information. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20062HIGHSQL Injection in Simply Poll 1.4.1 WordPress Plugin - Unauthenticated Data Theft
- CVE-2016-20063HIGHSQL Injection in Single Personal Message 1.0.3 – Credential & Data Theft Risk
- CVE-2016-20065HIGHUnauthenticated SQL Injection in Product Catalog 8 WordPress Plugin
- CVE-2016-20068HIGHUnauthenticated SQL Injection in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2016-20069HIGHUnauthenticated SQL Injection in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2016-20071HIGHCritical SQL Injection in WordPress 404 Redirection Manager Plugin v1.0
- CVE-2016-20072HIGHBBS e-Franchise WordPress Plugin SQL Injection – Remote Data Exfiltration Risk
- CVE-2016-20073HIGHSQL Injection in Answer My Question 1.3 WordPress Plugin