CVE-2025-7886

7.3 HIGH

📋 TL;DR

This critical SQL injection vulnerability in pmTicket Project-Management-Software allows remote attackers to execute arbitrary SQL commands by manipulating the user_id parameter in the getUserLanguage function. All users running affected versions are vulnerable to potential data theft, modification, or system compromise. The vendor uses rolling releases and hasn't provided version details or responded to disclosure attempts.

💻 Affected Systems

Products:
  • pmTicket Project-Management-Software
Versions: All versions up to commit 2ef379da2075f4761a2c9029cf91d073474e7486
Operating Systems: All platforms running pmTicket
Default Config Vulnerable: ⚠️ Yes
Notes: Vendor uses rolling releases without version numbers; affected versions identified by commit hash. All default installations are vulnerable.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, privilege escalation, and potential remote code execution on the underlying server.

🟠

Likely Case

Unauthorized access to sensitive project management data, user credentials, and potential lateral movement within the database.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only allowing data viewing without modification.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Proof of concept available via asciinema demonstration. Exploitation requires some authentication level but SQL injection is straightforward once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Consider migrating to alternative software or implementing workarounds.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement parameterized queries or proper input sanitization for the user_id parameter in classes/class.database.php

Modify getUserLanguage function to use prepared statements

Web Application Firewall Rules

all

Deploy WAF rules to block SQL injection patterns targeting the getUserLanguage function

Configure WAF to detect and block SQL injection attempts on relevant endpoints

🧯 If You Can't Patch

  • Isolate the pmTicket instance behind strict network segmentation and access controls
  • Implement database-level controls: restrict application database user permissions to minimum required

🔍 How to Verify

Check if Vulnerable:

Check if your pmTicket installation includes commit 2ef379da2075f4761a2c9029cf91d073474e7486 or earlier in git history

Check Version:

git log --oneline -1

Verify Fix Applied:

Test the getUserLanguage function with SQL injection payloads to confirm proper input validation

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from pmTicket application
  • SQL error messages in application logs
  • Multiple failed login attempts followed by SQL-like patterns

Network Indicators:

  • HTTP requests containing SQL injection patterns to pmTicket endpoints
  • Unusual database traffic patterns from application server

SIEM Query:

source="pmTicket_logs" AND (message="*SQL*" OR message="*database*error*")

🔗 References

📤 Share & Export