OpenSTAManager Unauthenticated Remote Code Execution via Insecure Deserialization
OpenSTAManager is vulnerable to remote code execution due to insecure deserialization in the OAuth2 component, allowing unauthenticated attackers to execute arbitrary commands by injecting a malicious serialized object into the `zz_oauth2` table.
CVE search metadata
CVE search record: CVE-2026-29782. Severity: high. CVSS: 7.2. EPSS: 0.59%. KEV: no. Product: Openstamanager. Brief: OpenSTAManager Unauthenticated Remote Code Execution via Insecure Deserialization. Brief link: https://feed.craftedsignal.io/briefs/2024-01-03-openstamanager-rce/
Triage facts
Revision 1- Evidence
- Unknown
- Severity
- Critical
- Sources
- 4 public sources
- Freshness
- Revision 1Jan 3, 12:00 UTC
- Detection
- 2 rules
- Vulnerabilities
- 1 CVE
What's new
- 1. poc_available; added CVE-2026-29782 Nov 1, 08:57 via sploitus
OpenSTAManager is vulnerable to an unauthenticated remote code execution (RCE) vulnerability due to insecure deserialization in the oauth2.php endpoint. This endpoint lacks authentication and deserializes data from the access_token field in the zz_oauth2 table without any class restrictions. An attacker who can write to the zz_oauth2 table can inject a malicious serialized PHP object, which, upon deserialization, allows arbitrary command execution on the server as the www-data user. This vulnerability can be exploited in conjunction with an arbitrary SQL injection vulnerability in the Aggiornamenti module (GHSA-2fr7-cc4f-wh98) to achieve unauthenticated RCE. The reported vulnerability affects OpenSTAManager version 2.10.1.
Attack Chain
- SQL Injection: An authenticated attacker with administrative privileges exploits an arbitrary SQL injection vulnerability in the Aggiornamenti module (
op=risolvi-conflitti-database). - Malicious Payload Insertion: The attacker crafts a SQL query to insert a malicious serialized PHP object into the
access_tokenfield of thezz_oauth2table, using a knownstatevalue (e.g.,poc-xxx). - DDL Statement for Persistence: The SQL query includes DDL statements (
CREATE TABLE,DROP TABLE) to force a MySQL commit and persist the injected payload, bypassing transaction rollback. - Unauthenticated Request: The attacker sends an unauthenticated GET request to
/oauth2.phpwith thestateparameter set to the known value used during payload injection (e.g.,oauth2.php?state=poc-xxx&code=x). - Data Retrieval: The
oauth2.phpscript retrieves the record from thezz_oauth2table based on the providedstateparameter. - Deserialization: The script calls
unserialize()on theaccess_tokenfield of the retrieved record, triggering the deserialization of the injected malicious PHP object. - Gadget Chain Execution: The deserialization triggers a gadget chain (e.g., Laravel/RCE22) that leads to the execution of arbitrary commands. Specifically, the
PendingBroadcast.__destruct()method is called, triggering thesystem()function with an attacker-controlled command. - Remote Code Execution: The attacker-specified command is executed on the server as the
www-datauser.
Impact
Successful exploitation of this vulnerability allows an unauthenticated attacker to execute arbitrary commands on the affected OpenSTAManager server. The attacker gains the privileges of the www-data user, potentially leading to complete system compromise, data theft, or denial of service. Due to the combination of SQL injection and insecure deserialization, the impact is rated as critical. The number of potential victims is equal to the number of OpenSTAManager instances exposed to the internet or accessible from untrusted networks.
Recommendation
- Apply the patch or upgrade to a non-vulnerable version of OpenSTAManager as soon as it becomes available.
- Deploy the Sigma rule
Detect-OpenSTAManager-OAuth2-Deserialization-Triggerto detect attempts to trigger the insecure deserialization vulnerability via crafted HTTP requests to theoauth2.phpendpoint. - Review and harden database access controls to prevent unauthorized modifications to the
zz_oauth2table, mitigating the SQL injection attack vector. - Monitor web server logs for suspicious POST requests to
actions.phpwith theop=risolvi-conflitti-databaseparameter, indicative of potential SQL injection attempts (GHSA-2fr7-cc4f-wh98). - Implement strict input validation and sanitization to prevent SQL injection vulnerabilities in OpenSTAManager modules.
Detection coverage 2
Detect OpenSTAManager OAuth2 Deserialization Trigger
highDetects attempts to trigger the insecure deserialization vulnerability in OpenSTAManager's oauth2.php endpoint by monitoring GET requests with a known 'state' parameter.
Detect OpenSTAManager Aggiornamenti SQL Injection Attempt
mediumDetects POST requests to actions.php with the op=risolvi-conflitti-database parameter, indicative of potential SQL injection attempts in the Aggiornamenti module.
Detection queries are available on the platform. Get full rules →