CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Lifecycle Timeline
4DescriptionNVD
A vulnerability was found in PHPGurukul Human Metapneumovirus Testing Management System 1.0. It has been declared as critical. Affected by this vulnerability is an unknown functionality of the file /new-user-testing.php. The manipulation of the argument state leads to sql injection. The attack can be launched remotely. The exploit has been disclosed to the public and may be used. Other parameters might be affected as well.
AnalysisAI
Critical SQL injection vulnerability in PHPGurukul Human Metapneumovirus Testing Management System version 1.0, affecting the /new-user-testing.php endpoint where the 'state' parameter is improperly sanitized. An unauthenticated remote attacker can exploit this to execute arbitrary SQL queries, potentially compromising data confidentiality, integrity, and availability. The vulnerability has public exploit code available and poses immediate risk to deployed instances.
Technical ContextAI
This vulnerability exists in a PHP-based web application (PHPGurukul Human Metapneumovirus Testing Management System 1.0) and represents improper input validation leading to SQL injection. The root cause is classified as CWE-74 (Improper Neutralization of Special Elements in Output Used by a Downstream Component), though the mechanism involves CWE-89-adjacent SQL injection patterns where user-supplied input in the 'state' parameter is concatenated directly into SQL queries without parameterized statement usage or proper escaping. The affected file /new-user-testing.php processes user registration/testing workflows and fails to sanitize the state parameter before database interaction. This is a classic server-side injection vulnerability in a legacy PHP application likely using mysqli or PDO without prepared statements.
RemediationAI
Immediate Patch: Check PHPGurukul repository and official channels for a patched version >1.0. If unavailable, contact vendor or review security advisories on phpgurukul.com or GitHub. Code-Level Mitigation: Replace all SQL queries in /new-user-testing.php with parameterized prepared statements using mysqli_prepare() or PDO prepared statements with bound parameters. Example: Use $stmt = $mysqli->prepare('SELECT * FROM users WHERE state = ?'); $stmt->bind_param('s', $_GET['state']); instead of concatenating input directly. Input Validation: Implement strict whitelist validation for the 'state' parameter—define allowed state values and reject any input not matching. For example, if state should only be 'active', 'inactive', 'pending', explicitly check against this list. Web Application Firewall (WAF): Deploy a WAF (ModSecurity, Cloudflare, AWS WAF) with SQL injection detection rules to block common SQLi payloads in the /new-user-testing.php endpoint. Database Hardening: Ensure the database user account running queries has minimal privileges—use a dedicated low-privilege account without DROP, ALTER, or administrative permissions to limit blast radius if injection succeeds. Monitoring: Enable SQL error logging and monitor for unusual query patterns, repeated failed SQL syntax, or UNION-based injection attempts targeting /new-user-testing.php.
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-17037