Skip to main content
VulnerabilityPublished

CVE-2025-65103: API · OpenSTAManager Has Authenticated SQL Injection

Affects devcode-it/openstamanagerSource GCVE Database

0
Compare
Authoritative record:CVE-2025-65103· High 8.8

Not known to be exploited · CVSS 8.8 High : upgrade to 2.9.5 soon.

Data as of 13 Nov 2026, 18:29 UTC

CVSS 3.1 base score
8.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (GitHub_M)CVSS 3.18.8
Patch
Available – fixed in 2.9.5
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 19 Nov 2025

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 13 Nov 2026.

What to do

Upgrade devcode-it/openstamanager to 2.9.5.

Affected software

ProductAffectedFixed in
Packagistdevcode-it/openstamanagerAffected
  • <2.9.5
Fixed in
  • 2.9.5

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

Description

### Summary An authenticated SQL Injection vulnerability in the API allows any user, regardless of permission level, to execute arbitrary SQL queries. By manipulating the `display` parameter in an API request, an attacker can exfiltrate, modify, or delete any data in the database, leading to a full system compromise. ### Details The vulnerability is located in the `retrieve()` method within `src/API/Manager.php`. User input from the `display` GET parameter is processed without proper validation. The code strips the surrounding brackets `[]`, splits the string by commas, and then passes each resulting element directly into the `selectRaw()` function of the query builder. ```php // User input from 'display' is taken without sanitization. $select = !empty($request['display']) ? explode(',', substr((string) $request['display'], 1, -1)) : null; // ... // The unsanitized input is passed directly to `selectRaw()`. foreach ($select as $s) { $query->selectRaw($s); } ``` Since `selectRaw()` is designed to execute raw SQL expressions, it executes any malicious SQL code provided in the `display` parameter. ### PoC 1. Log in to an OpenSTAManager instance as any user. 2. Navigate to the user's profile page to obtain their personal API Token. 3. Use this API token to send a specially crafted GET request to the API endpoint. **Time-Based Blind Injection Test:** Replace `<your_host>`, `<your_token>`, and `<resource_name>` with your actual values. `anagrafiche` is a valid resource. ```bash curl "http://<your_host>/openstamanager/api?token=<your_token>&resource=anagrafiche&display=[1,SLEEP(5)]" ``` The server will delay its response by approximately 5 seconds, confirming the `SLEEP(5)` command was executed by the database. ### Impact This is a critical SQL Injection vulnerability. Any authenticated user, even those with the lowest privileges, can exploit this vulnerability to: * **Exfiltrate all data** from the database (e.g., user credentials, customer information, invoices, internal data). * **Modify or delete data**, compromising data integrity. * Potentially achieve further system compromise, depending on the database user's privileges and system configuration.

References

Community reviews

Loading reviews…