CVE-2021-44427

9.8 CRITICAL

📋 TL;DR

An unauthenticated SQL injection vulnerability in Rosario Student Information System (rosariosis) allows remote attackers to execute arbitrary PostgreSQL statements through the syear parameter in /Side.php. This affects all systems running rosariosis versions before 8.1.1, potentially compromising student data and system integrity.

💻 Affected Systems

Products:
  • Rosario Student Information System (rosariosis)
Versions: All versions before 8.1.1
Operating Systems: All platforms running rosariosis
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable if not patched. The vulnerability is in the core application code.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise allowing data theft, data manipulation, privilege escalation, and potential remote code execution via PostgreSQL functions.

🟠

Likely Case

Unauthorized access to sensitive student information (grades, personal data), data manipulation, and potential system takeover.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and network segmentation in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability is well-documented in public issue trackers with technical details that facilitate exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.1.1 and later

Vendor Advisory: https://gitlab.com/francoisjacquet/rosariosis/-/issues/328

Restart Required: No

Instructions:

1. Backup your database and application files. 2. Download rosariosis 8.1.1 or later from the official repository. 3. Replace the vulnerable files with the patched version. 4. Verify the fix by testing the /Side.php endpoint.

🔧 Temporary Workarounds

Web Application Firewall (WAF) Rules

all

Implement WAF rules to block SQL injection patterns in the syear parameter

Input Validation Filter

all

Add server-side validation to restrict syear parameter to expected values

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to the rosariosis application
  • Deploy a web application firewall with SQL injection protection rules

🔍 How to Verify

Check if Vulnerable:

Check if your rosariosis version is below 8.1.1 by examining the version file or admin panel

Check Version:

Check the version.php file or login to the admin panel to view system information

Verify Fix Applied:

Test the /Side.php endpoint with SQL injection payloads in the syear parameter to confirm they are rejected

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from web server logs
  • Multiple failed login attempts following SQL injection patterns
  • Unexpected database errors in application logs

Network Indicators:

  • HTTP requests to /Side.php with suspicious syear parameter values
  • Unusual database connection patterns from web server

SIEM Query:

source="web_server" AND uri="/Side.php" AND (syear="*' OR*" OR syear="*;*" OR syear="*--*" OR syear="*UNION*" OR syear="*SELECT*" OR syear="*INSERT*" OR syear="*UPDATE*" OR syear="*DELETE*")

🔗 References

📤 Share & Export