CVE-2025-34080

6.1 MEDIUM

📋 TL;DR

This vulnerability allows attackers to execute reflected cross-site scripting (XSS) attacks via the getqsetting.php endpoint in Contec CONPROSYS HMI System. Attackers can inject malicious scripts that execute in victims' browsers when they interact with crafted URLs. This affects all CONPROSYS HMI System (CHS) installations before version 3.7.7.

💻 Affected Systems

Products:
  • Contec CONPROSYS HMI System (CHS)
Versions: All versions before 3.7.7
Operating Systems: Not specified - likely embedded/industrial OS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is in the web interface functionality and affects the default configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware on user systems through browser exploitation.

🟠

Likely Case

Session hijacking, credential theft, or unauthorized actions performed in the context of authenticated users who click malicious links.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are implemented, though some browser-based attacks may still succeed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Reflected XSS typically requires user interaction (clicking malicious link) but is straightforward to exploit once the vulnerable parameter is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.7.7

Vendor Advisory: https://jvn.jp/en/vu/JVNVU92266386/

Restart Required: Yes

Instructions:

1. Download version 3.7.7 or later from Contec. 2. Backup current configuration. 3. Install the update following vendor instructions. 4. Restart the HMI system. 5. Verify the update was successful.

🔧 Temporary Workarounds

Web Application Firewall (WAF)

all

Deploy a WAF with XSS protection rules to block malicious requests to getqsetting.php

Input Validation Filter

all

Implement server-side input validation to sanitize parameters passed to getqsetting.php

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to limit script execution
  • Restrict network access to the HMI web interface using firewall rules

🔍 How to Verify

Check if Vulnerable:

Test the getqsetting.php endpoint with XSS payloads in parameters and observe if scripts execute in response.

Check Version:

Check system version in web interface or via vendor-specific CLI commands (vendor documentation required)

Verify Fix Applied:

After patching, test the same XSS payloads to confirm they are properly sanitized and no longer execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to getqsetting.php with script tags or JavaScript in parameters
  • Multiple failed XSS attempts

Network Indicators:

  • HTTP requests containing <script> tags or JavaScript in URL parameters to getqsetting.php endpoint

SIEM Query:

source="web_logs" AND uri="*getqsetting.php*" AND (param="*<script>*" OR param="*javascript:*")

🔗 References

📤 Share & Export