SECURITYHIGHCVE-2026-90514

SQL Injection in SourceCodester School Registration and Fee System 1.0

CVE-2026-90514 lets unauthenticated remote attackers inject SQL via the Status parameter in save_stud.php, with a public PoC exploit already live.

Dylan H.

Security Team

September 14, 2026
3 min read
SQL Injection in SourceCodester School Registration and Fee System 1.0

Affected Products

  • SourceCodester School Registration and Fee System 1.0

Executive Summary

A SQL injection vulnerability, tracked as CVE-2026-90514, has been disclosed in SourceCodester School Registration and Fee System 1.0, a PHP-based student registration and billing application commonly deployed by small schools and administrative offices. The flaw sits in an unknown function of /bilal/normal/save_stud.php, where the Status argument is passed into a database query without proper sanitization.

CVSS Score: 7.3 (High, CVSS 3.1) — also rated 6.9 (Medium) under CVSS 4.0.

The vulnerability can be triggered remotely and does not require authentication, making it exploitable by any attacker with network access to a vulnerable instance. A proof-of-concept exploit is already published on GitHub, which sharply raises the urgency for affected operators.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-90514
CWECWE-89 (SQL Injection)
CVSS 3.1 Score7.3 (High)
CVSS 4.0 Score6.9 (Medium)
Component/bilal/normal/save_stud.php
Affected ParameterStatus
Attack VectorNetwork (remote)
AuthenticationNone required
Exploit StatusPublic PoC available on GitHub
Vendor ResponseNone at time of writing
Reserved / Published2026-09-12 / 2026-09-13

Affected Versions

ProductAffected VersionsFixed Version
SourceCodester School Registration and Fee System1.0Not yet published

SourceCodester projects are community-contributed PHP applications frequently used as free, self-hosted templates — meaning patches and vendor support are typically minimal to nonexistent. No fixed release currently exists for this flaw.


Why This Matters

School registration systems store sensitive student and guardian records — names, contact details, enrollment status, and often fee/payment history. An unauthenticated SQL injection in this context is significant because:

  • No credentials are needed — any network-positioned attacker can attempt exploitation directly against save_stud.php.
  • The vulnerable endpoint is trivially discoverable via a Google dork (inurl:bilal/normal/save_stud.php), lowering the bar for opportunistic mass scanning.
  • Exploitation is rated easy by vulnerability scoring services, and a working exploit is already public, which typically shortens the window between disclosure and mass exploitation attempts.
  • A near-identical flaw (CVE-2026-90526) was disclosed the same day in the product's /bilal/save_class.php file via the Category parameter — suggesting the codebase lacks input sanitization broadly, not just in this one endpoint.

  1. Identify exposure — confirm whether your instance of this software is reachable from the internet and check the installed version.
  2. Restrict network access to the application where possible; place it behind a VPN or IP allowlist if it does not need to be public-facing.
  3. Deploy WAF rules to detect and block SQL-injection payloads targeting the Status parameter and the save_stud.php endpoint specifically.
  4. Monitor database and application logs for anomalous queries or unexpected access to student records.
  5. Since no vendor patch exists, consider migrating off this codebase or applying prepared-statement fixes locally if you rely on it in production.
  6. Rotate any credentials stored in or accessible via the affected database if compromise is suspected.

References