CVE-2025-22596

6.5 MEDIUM

📋 TL;DR

A reflected cross-site scripting (XSS) vulnerability in WeGIA's modulos_visiveis.php endpoint allows attackers to inject malicious scripts via the msg_c parameter. This affects all WeGIA users who access vulnerable instances, potentially leading to session hijacking or credential theft. The vulnerability is fixed in version 3.2.8.

💻 Affected Systems

Products:
  • WeGIA
Versions: All versions before 3.2.8
Operating Systems: All platforms running WeGIA
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation of WeGIA and requires no special configuration to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, deface websites, or redirect users to malicious sites, potentially compromising the entire charitable institution's data.

🟠

Likely Case

Attackers would typically use this to steal session cookies or credentials from users who click malicious links, potentially gaining unauthorized access to the WeGIA system.

🟢

If Mitigated

With proper input validation and output encoding, the impact would be limited to unsuccessful injection attempts that are blocked by security controls.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Reflected XSS vulnerabilities are commonly exploited and require minimal technical skill. The advisory provides enough detail for attackers to craft working exploits.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.8

Vendor Advisory: https://github.com/LabRedesCefetRJ/WeGIA/security/advisories/GHSA-jcj3-gqj3-rrvm

Restart Required: Yes

Instructions:

1. Backup your current WeGIA installation and database. 2. Download WeGIA version 3.2.8 from the official repository. 3. Replace the existing installation with the new version. 4. Restart the web server service. 5. Verify the application is functioning correctly.

🔧 Temporary Workarounds

Web Application Firewall (WAF) Rule

all

Implement WAF rules to block malicious script injection in the msg_c parameter

Depends on specific WAF platform - configure rules to sanitize/block suspicious input in URL parameters

Input Validation Filter

all

Add server-side input validation to sanitize the msg_c parameter

Add input sanitization in modulos_visiveis.php to filter/escape special characters

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to prevent script execution from untrusted sources
  • Deploy a web application firewall (WAF) with XSS protection rules enabled

🔍 How to Verify

Check if Vulnerable:

Test by accessing modulos_visiveis.php with a test payload in the msg_c parameter (e.g., ?msg_c=<script>alert('test')</script>) and check if script executes

Check Version:

Check WeGIA version in admin panel or review application files for version information

Verify Fix Applied:

After patching, test the same payload and verify no script execution occurs. Check that input is properly sanitized or blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual URL parameters containing script tags or JavaScript code in access logs
  • Multiple failed attempts with suspicious msg_c parameter values

Network Indicators:

  • HTTP requests to modulos_visiveis.php with script tags in parameters
  • Unusual redirects or outbound connections following suspicious requests

SIEM Query:

web.url:*modulos_visiveis.php* AND (web.param.msg_c:*script* OR web.param.msg_c:*javascript* OR web.param.msg_c:*alert*)

🔗 References

📤 Share & Export