CVE-2025-30363

5.4 MEDIUM

📋 TL;DR

A stored Cross-Site Scripting (XSS) vulnerability in WeGIA web management software allows attackers to inject malicious scripts that are permanently stored on the server and executed in users' browsers when they view compromised pages. This affects all users of WeGIA versions prior to 3.2.6, potentially leading to session hijacking, data theft, or unauthorized actions.

💻 Affected Systems

Products:
  • WeGIA
Versions: All versions prior to 3.2.6
Operating Systems: Any
Default Config Vulnerable: ⚠️ Yes
Notes: All WeGIA installations using vulnerable versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, take over administrative accounts, deface the website, or redirect users to malicious sites, potentially compromising the entire charitable institution's operations.

🟠

Likely Case

Attackers inject malicious scripts to steal user session cookies, perform actions on behalf of authenticated users, or display phishing content to visitors.

🟢

If Mitigated

With proper input validation and output encoding, the risk is reduced to minimal, though the vulnerability still exists in the codebase.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Stored XSS typically requires some level of user interaction or access to input fields, but exploitation is straightforward once the vulnerability vector is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.6

Vendor Advisory: https://github.com/LabRedesCefetRJ/WeGIA/security/advisories/GHSA-qhfm-2qfp-h4m3

Restart Required: Yes

Instructions:

1. Backup your current WeGIA installation and database. 2. Download WeGIA version 3.2.6 from the official repository. 3. Replace the existing installation files with the new version. 4. Restart the web server service. 5. Verify the update was successful.

🔧 Temporary Workarounds

Implement Content Security Policy

all

Add a Content Security Policy header to restrict script execution sources

Add to web server config: Content-Security-Policy: default-src 'self'; script-src 'self'

Input Validation Filter

all

Implement server-side input validation to sanitize user inputs

Implement input sanitization in affected PHP files using htmlspecialchars() or similar functions

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with XSS protection rules
  • Disable or restrict access to the vulnerable functionality if possible

🔍 How to Verify

Check if Vulnerable:

Check the WeGIA version in the admin panel or by examining the application files. If version is below 3.2.6, the system is vulnerable.

Check Version:

Check the version.php file or admin panel dashboard

Verify Fix Applied:

After updating to 3.2.6, verify the version in the admin panel and test the previously vulnerable input fields with basic XSS payloads like <script>alert('test')</script>

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests with script tags or JavaScript code in parameters
  • Multiple failed XSS attempts in web server logs

Network Indicators:

  • HTTP requests containing suspicious script tags or encoded JavaScript in URL parameters or POST data

SIEM Query:

web.url:*<script* OR web.post_data:*<script* OR web.url:*javascript:*

🔗 References

📤 Share & Export