CVE-2026-23725 Overview
CVE-2026-23725 is a Stored Cross-Site Scripting (XSS) vulnerability identified in WeGIA, a web manager application designed for charitable institutions. The vulnerability exists in the pet adopter management functionality, specifically in the html/pet/adotantes/cadastro_adotante.php and html/pet/adotantes/informacao_adotantes.php endpoints. Due to insufficient input sanitization, the application fails to properly sanitize user-controlled input before rendering it in the Adopters Information table, allowing attackers to inject persistent malicious JavaScript code that executes automatically when any user views the affected page.
Critical Impact
Persistent JavaScript injection allows attackers to execute malicious scripts in the context of any user who views the compromised Adopters Information page, potentially leading to session hijacking, data theft, or unauthorized actions on behalf of authenticated users.
Affected Products
- WeGIA Web Manager versions prior to 3.6.2
- WeGIA Pet Module - Adopter Management Components
- WeGIA installations with pet adoption functionality enabled
Discovery Timeline
- 2026-01-16 - CVE CVE-2026-23725 published to NVD
- 2026-01-16 - Last updated in NVD database
Technical Details for CVE-2026-23725
Vulnerability Analysis
This Stored XSS vulnerability (CWE-79) stems from the application's failure to sanitize user-supplied input before storing and rendering it in the database-backed Adopters Information table. When an attacker submits malicious JavaScript code through the adopter registration form at cadastro_adotante.php, the payload is stored in the database without proper encoding or validation. Subsequently, when any user navigates to the informacao_adotantes.php page, the stored payload is retrieved from the database and rendered directly into the HTML response, causing the malicious script to execute in the victim's browser context.
The network-accessible attack vector requires no authentication to exploit, making it particularly dangerous for publicly accessible WeGIA installations. The persistent nature of stored XSS means the payload continues to execute for every user who visits the affected page until the malicious data is removed from the database.
Root Cause
The root cause is improper input validation and output encoding in the WeGIA pet adoption module. The application directly inserts user-controlled data from the adopter registration form into database records without sanitization, and subsequently renders this data in HTML templates without proper escaping. This allows HTML and JavaScript content to be interpreted as executable code rather than treated as plain text data.
Attack Vector
The attack leverages the network-accessible adopter registration functionality. An attacker can submit a specially crafted adopter registration containing JavaScript payloads in vulnerable form fields. The malicious input is stored in the application's database and executed whenever the Adopters Information table is rendered. This requires no special privileges—any user with access to the registration form can inject payloads that will affect all users viewing the adopter information page, including administrators.
The attack flow involves:
- Attacker accesses the adopter registration page (cadastro_adotante.php)
- Malicious JavaScript is submitted through vulnerable form fields
- The payload is stored in the database without sanitization
- When any user views the adopter information page (informacao_adotantes.php), the stored payload executes in their browser
Detection Methods for CVE-2026-23725
Indicators of Compromise
- Unexpected JavaScript code or HTML tags present in database records for the adopters table
- Browser console errors or unusual script execution warnings when accessing the pet adopter pages
- Reports of suspicious browser behavior, pop-ups, or redirects when viewing adopter information
- Network traffic showing unexpected outbound connections initiated from the adopter information pages
Detection Strategies
- Implement Web Application Firewall (WAF) rules to detect XSS payloads in form submissions targeting the cadastro_adotante.php endpoint
- Monitor database content for suspicious entries containing script tags, event handlers, or JavaScript protocol handlers
- Deploy Content Security Policy (CSP) headers to detect and report inline script execution attempts
- Review web server access logs for unusual patterns in POST requests to the adopter registration endpoints
Monitoring Recommendations
- Enable browser CSP violation reporting to capture XSS execution attempts
- Implement database audit logging to track modifications to the adopters table
- Configure application-level logging to record all form submissions to vulnerable endpoints
- Set up alerts for anomalous user activity patterns following visits to the pet adopter pages
How to Mitigate CVE-2026-23725
Immediate Actions Required
- Upgrade WeGIA to version 3.6.2 or later immediately to apply the security fix
- Audit existing database records in the adopters table for any suspicious or malicious content
- Review application logs and database entries for evidence of prior exploitation attempts
- Consider temporarily disabling access to the pet adopter functionality until the patch is applied
Patch Information
The vulnerability has been addressed in WeGIA version 3.6.2. The fix implements proper input sanitization and output encoding to prevent the execution of injected JavaScript code. Organizations should upgrade to this version or later to remediate the vulnerability.
For detailed patch information, refer to the GitHub Pull Request #1333 and the WeGIA 3.6.2 Release. Additional details are available in the GitHub Security Advisory GHSA-c85q-4fwg-99gw.
Workarounds
- Implement a Web Application Firewall (WAF) with XSS protection rules to filter malicious input before it reaches the application
- Restrict access to the pet adopter registration functionality to authenticated and trusted users only
- Add Content Security Policy (CSP) headers to prevent inline script execution: Content-Security-Policy: script-src 'self'
- Manually sanitize existing database entries by removing or encoding any HTML/JavaScript content in the adopters table
# Example CSP header configuration for Apache
Header set Content-Security-Policy "script-src 'self'; object-src 'none'"
# Example CSP header configuration for Nginx
add_header Content-Security-Policy "script-src 'self'; object-src 'none'";
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


