CVE-2025-10606

4.3 MEDIUM

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into the Portabilis i-Educar web application via the 'tipoacao' parameter in the ConfiguracaoMovimentoGeral module. When exploited, this reflected cross-site scripting (XSS) attack can steal user sessions, redirect users to malicious sites, or perform actions on behalf of authenticated users. All users of i-Educar up to version 2.10 are affected.

💻 Affected Systems

Products:
  • Portabilis i-Educar
Versions: Up to and including version 2.10
Operating Systems: All operating systems running i-Educar
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default configuration and requires no special settings to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, take over administrative accounts, manipulate student records, or redirect users to phishing sites that capture sensitive information.

🟠

Likely Case

Attackers will typically use this to steal session cookies from authenticated users, allowing them to impersonate those users and perform unauthorized actions within the application.

🟢

If Mitigated

With proper input validation and output encoding, the malicious scripts would be neutralized, preventing any client-side execution and maintaining application security.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The exploit is publicly available and requires minimal technical skill to execute. Remote exploitation is possible without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 2.11 or later

Vendor Advisory: https://github.com/portabilis/i-educar/releases

Restart Required: No

Instructions:

1. Backup your current i-Educar installation and database. 2. Download the latest version from the official GitHub repository. 3. Replace the affected files with the patched versions. 4. Verify the fix by testing the vulnerable endpoint.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize the 'tipoacao' parameter before processing.

Implement input validation in /module/Configuracao/ConfiguracaoMovimentoGeral.php to filter script tags and special characters

Web Application Firewall (WAF)

all

Configure WAF rules to block requests containing XSS payloads in the tipoacao parameter.

Add WAF rule: Block requests with tipoacao parameter containing <script>, javascript:, or other XSS indicators

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Deploy a web application firewall (WAF) with XSS protection rules

🔍 How to Verify

Check if Vulnerable:

Test the endpoint /module/Configuracao/ConfiguracaoMovimentoGeral with tipoacao parameter containing a simple XSS payload like <script>alert('test')</script> and check if it executes in the browser.

Check Version:

Check the version in the application's configuration files or admin interface, typically in config/version.php or similar location.

Verify Fix Applied:

After patching, repeat the vulnerability test with the same XSS payload. The script should not execute and should be properly encoded in the output.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /module/Configuracao/ConfiguracaoMovimentoGeral with tipoacao parameter containing script tags, javascript:, or other XSS indicators
  • Unusual parameter values in tipoacao field

Network Indicators:

  • HTTP requests with suspicious payloads in query parameters
  • Multiple requests to the vulnerable endpoint from single IPs

SIEM Query:

source="web_server_logs" AND uri="/module/Configuracao/ConfiguracaoMovimentoGeral" AND (query CONTAINS "<script>" OR query CONTAINS "javascript:" OR query CONTAINS "onerror=" OR query CONTAINS "onload=")

🔗 References

📤 Share & Export