CVE-2025-69214

8.8 HIGH

📋 TL;DR

OpenSTAManager versions 2.9.8 and earlier contain an SQL injection vulnerability in the ajax_select.php endpoint. Authenticated attackers can execute arbitrary SQL commands through the options[matricola] parameter, potentially compromising the database. This affects all deployments running vulnerable versions of the software.

💻 Affected Systems

Products:
  • OpenSTAManager
Versions: 2.9.8 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to exploit. All deployments with default configurations are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, privilege escalation, and potential remote code execution if database functions allow it.

🟠

Likely Case

Data exfiltration from the database, including sensitive customer information, financial records, and authentication credentials.

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented, restricting attacker to error-based SQL injection only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

SQL injection through authenticated endpoint makes exploitation straightforward for attackers with valid credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.9.9 or later

Vendor Advisory: https://github.com/devcode-it/openstamanager/security/advisories/GHSA-qjv8-63xq-gq8m

Restart Required: No

Instructions:

1. Backup your database and application files. 2. Download the latest version from the official repository. 3. Replace vulnerable files with patched versions. 4. Verify the fix by testing the ajax_select.php endpoint.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize the options[matricola] parameter before processing

Modify ajax_select.php to validate and sanitize user input before database queries

WAF Rule Implementation

all

Deploy web application firewall rules to block SQL injection patterns

Add WAF rule to detect and block SQL injection attempts on ajax_select.php

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries for all database operations
  • Restrict database user permissions to minimum required and enable database logging

🔍 How to Verify

Check if Vulnerable:

Test the ajax_select.php endpoint with SQL injection payloads in the options[matricola] parameter while authenticated

Check Version:

Check the version number in the application's configuration or about page

Verify Fix Applied:

Attempt SQL injection on the patched endpoint and verify it rejects malicious input

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from ajax_select.php
  • SQL syntax errors in application logs
  • Multiple failed login attempts followed by SQL injection attempts

Network Indicators:

  • HTTP POST requests to ajax_select.php with SQL keywords in parameters
  • Unusual database connection patterns

SIEM Query:

source="web_logs" AND url="*ajax_select.php*" AND (param="*options[matricola]*" AND value="*SELECT* OR *UNION* OR *INSERT* OR *DELETE*")

🔗 References

📤 Share & Export