Executive brief
i-Educar is a school management and student information system used by educational institutions. The Final Status Import tool allows batch updates to student records, but fails to properly verify that the importing user has permission to modify students from other schools. An authenticated attacker with basic school-level access can exploit this to sabotage student records across the entire district by uploading a CSV file with modified enrollment data.
Technical details
This is a broken function-level authorization (BFLA) vulnerability in the FinalStatusImportService.php component. The vulnerability occurs because the CSV batch import handler uses unscoped database queries (Eloquent's find() method) to retrieve enrollment records by ID alone, without verifying that the calling user has authorization for the target student's school unit. While the UI correctly restricts school-level users to their own institution, the backend service lacks equivalent authorization checks. An authenticated user with "School" level permissions can upload a malicious CSV file containing enrollment IDs from other schools to modify student records beyond their authority, such as changing enrollment status to "Deceased". The vendor has patched this in version 2.11.0 by adding proper authorization scoping to the import service.
Affected products
- Portabilis i-Educar up to 2.10
Timeline
- 2026-02-06: disclosed
- 2026-02-06: patched: Patch released in version 2.11.0