CVE-2025-10846

6.3 MEDIUM

📋 TL;DR

This SQL injection vulnerability in Portabilis i-Educar allows attackers to manipulate database queries through the /module/ComponenteCurricular/edit endpoint. Attackers can potentially read, modify, or delete sensitive data in the database. All users running i-Educar versions up to 2.10 are affected.

💻 Affected Systems

Products:
  • Portabilis i-Educar
Versions: All versions up to and including 2.10
Operating Systems: Any OS running i-Educar
Default Config Vulnerable: ⚠️ Yes
Notes: All installations using the vulnerable endpoint are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including sensitive student/administrator data exposure, data manipulation, or potential remote code execution through database functions.

🟠

Likely Case

Unauthorized data access and extraction of sensitive information from the i-Educar database.

🟢

If Mitigated

Limited impact with proper input validation and database permissions restricting damage to non-critical data.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and public exploit details are available.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this to escalate privileges or access sensitive data.

🎯 Exploit Status

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

Proof of concept is publicly available, making exploitation straightforward for attackers with basic SQL injection knowledge.

🛠️ 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 i-Educar installation and database. 2. Update to i-Educar version 2.11 or later. 3. Verify the /module/ComponenteCurricular/edit endpoint now properly validates the ID parameter.

🔧 Temporary Workarounds

Input Validation Filter

all

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

Implement parameterized queries or prepared statements for all database operations involving the ID parameter

Web Application Firewall

all

Deploy WAF rules to block SQL injection patterns targeting the vulnerable endpoint.

Configure WAF to block requests containing SQL keywords like UNION, SELECT, INSERT, UPDATE, DELETE when sent to /module/ComponenteCurricular/edit

🧯 If You Can't Patch

  • Restrict network access to the i-Educar application to trusted IP addresses only
  • Implement database user privilege restrictions to limit potential damage from SQL injection

🔍 How to Verify

Check if Vulnerable:

Test the /module/ComponenteCurricular/edit endpoint with SQL injection payloads in the ID parameter (e.g., ID=1' OR '1'='1).

Check Version:

Check i-Educar version in administration panel or review application version files

Verify Fix Applied:

Attempt SQL injection tests against the patched endpoint and verify they are blocked or properly handled.

📡 Detection & Monitoring

Log Indicators:

  • Unusual database query patterns
  • Multiple failed login attempts followed by SQL error messages
  • Requests to /module/ComponenteCurricular/edit with SQL keywords in parameters

Network Indicators:

  • Unusual traffic patterns to the vulnerable endpoint
  • SQL error messages in HTTP responses

SIEM Query:

source="web_logs" AND uri_path="/module/ComponenteCurricular/edit" AND (param_ID CONTAINS "'" OR param_ID CONTAINS "UNION" OR param_ID CONTAINS "SELECT")

🔗 References

📤 Share & Export