CVE-2026-28805 Overview
OpenSTAManager, an open source management software designed for technical assistance and invoicing, contains a Time-Based Blind SQL Injection vulnerability in multiple AJAX select handlers. Prior to version 2.10.2, the options[stato] GET parameter is vulnerable to SQL injection attacks. The user-supplied value is read from $superselect['stato'] and concatenated directly into SQL WHERE clauses as a bare expression, without any sanitization, parameterization, or allowlist validation.
An authenticated attacker can exploit this vulnerability to inject arbitrary SQL statements and extract sensitive data from the database, including usernames, password hashes, financial records, and any other information stored in the MySQL database.
Critical Impact
Authenticated attackers can extract sensitive database contents including credentials, financial records, and customer data through time-based blind SQL injection, potentially leading to full database compromise.
Affected Products
- OpenSTAManager versions prior to 2.10.2
Discovery Timeline
- April 2, 2026 - CVE CVE-2026-28805 published to NVD
- April 2, 2026 - Last updated in NVD database
Technical Details for CVE-2026-28805
Vulnerability Analysis
This vulnerability stems from improper input validation in OpenSTAManager's AJAX select handlers. Multiple handlers accept the options[stato] GET parameter and directly incorporate the user-supplied value into SQL WHERE clauses without proper sanitization or parameterized queries. The application reads the value from the $superselect['stato'] array and concatenates it as a bare expression into the query string.
Because the injection point is within a WHERE clause and returns no visible output difference, attackers must use time-based blind SQL injection techniques. This involves injecting conditional delays (using MySQL's SLEEP() function or similar) to infer data character-by-character based on response timing. While slower than error-based or UNION-based SQL injection, this technique allows complete extraction of database contents.
The vulnerability requires authentication, meaning an attacker must first obtain valid credentials to the OpenSTAManager application. However, once authenticated, even low-privileged users can leverage this flaw to access data beyond their authorization level, including administrative credentials and sensitive business information.
Root Cause
The root cause is the direct concatenation of user-supplied input into SQL queries without proper sanitization, parameterization, or input validation. The $superselect['stato'] value is inserted directly into WHERE clauses as a raw expression, violating secure coding practices for database interaction. The application lacks input validation mechanisms such as allowlist validation, type checking, or the use of prepared statements with bound parameters that would prevent SQL injection attacks.
Attack Vector
The attack is network-based and requires authenticated access to the application. An attacker with valid credentials can manipulate the options[stato] GET parameter in AJAX requests to the vulnerable select handlers. By injecting time-based SQL payloads, the attacker can systematically extract database contents.
The attack flow involves sending crafted requests with SQL injection payloads that cause conditional delays based on data values. For example, an attacker might test if the first character of an admin password hash equals a specific value by injecting a conditional sleep statement. By measuring response times, the attacker can infer whether the condition was true, allowing character-by-character data extraction.
Technical details and the specific vulnerable code paths can be reviewed in the GitHub Security Advisory GHSA-3gw8-3mg3-jmpc.
Detection Methods for CVE-2026-28805
Indicators of Compromise
- Unusually slow responses from OpenSTAManager AJAX endpoints that correlate with specific parameter values
- Web server logs showing options[stato] parameters containing SQL keywords such as SLEEP, BENCHMARK, IF, CASE, or WAITFOR
- Repeated requests to select handlers with incrementally modified parameter values (indicative of automated extraction)
- Database logs showing unusual query patterns or queries with injected conditional statements
Detection Strategies
- Implement Web Application Firewall (WAF) rules to detect SQL injection patterns in the options[stato] parameter
- Monitor application logs for requests to AJAX select handlers containing suspicious characters or SQL keywords
- Deploy database activity monitoring to identify queries with abnormal execution times or injected SLEEP/BENCHMARK functions
- Use intrusion detection systems with signatures for time-based blind SQL injection attack patterns
Monitoring Recommendations
- Enable detailed logging for all AJAX endpoints in OpenSTAManager and retain logs for forensic analysis
- Configure alerting for response times exceeding normal thresholds on select handler endpoints
- Implement rate limiting on AJAX endpoints to slow automated extraction attempts
- Regularly audit database access logs for unusual query patterns originating from the web application
How to Mitigate CVE-2026-28805
Immediate Actions Required
- Upgrade OpenSTAManager to version 2.10.2 or later immediately
- Review database logs for evidence of exploitation prior to patching
- Rotate all database credentials and application secrets if exploitation is suspected
- Audit user accounts for unauthorized access or privilege escalation
- Implement additional input validation at the WAF level as defense-in-depth
Patch Information
The vulnerability has been addressed in OpenSTAManager version 2.10.2. The fix implements proper input sanitization and parameterized queries for the affected AJAX select handlers. Organizations should upgrade to this version or later to remediate the vulnerability.
Relevant security patches can be found in the following commits:
The patched version is available at GitHub Release v2.10.2.
Workarounds
- Deploy a Web Application Firewall (WAF) with rules to block SQL injection patterns in the options[stato] parameter
- Restrict network access to OpenSTAManager to trusted IP ranges or VPN-connected users only
- Implement database-level restrictions to limit the application database user's privileges to only required operations
- Monitor and alert on suspicious request patterns targeting AJAX select handlers until patching is complete
# Example WAF rule (ModSecurity) to detect SQL injection in options[stato]
SecRule ARGS:options[stato] "@rx (?i)(sleep|benchmark|waitfor|if\s*\(|case\s+when)" \
"id:100001,phase:2,deny,status:403,log,msg:'Potential SQL Injection in options[stato]'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

