CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Lifecycle Timeline
4Description
A vulnerability was found in code-projects Online Appointment Booking System 1.0. It has been rated as critical. Affected by this issue is some unknown functionality of the file /cover.php. The manipulation of the argument uname/psw leads to sql injection. The attack may be launched remotely. The exploit has been disclosed to the public and may be used.
Analysis
CVE-2025-7587 is a critical SQL injection vulnerability in code-projects Online Appointment Booking System version 1.0, affecting the /cover.php endpoint where uname and psw parameters are not properly sanitized. An unauthenticated remote attacker can exploit this to execute arbitrary SQL queries, potentially leading to data exfiltration, authentication bypass, and database manipulation. The vulnerability has been publicly disclosed with working exploits available, making active exploitation highly probable in the wild.
Technical Context
The vulnerability is classified as CWE-74 (Improper Neutralization of Special Elements in Output Used by a Downstream Component - 'Injection'), which is the root cause category for SQL injection flaws. The affected component is /cover.php, a web application file that processes user authentication parameters (uname/psw - username and password fields). The web application fails to use parameterized queries or input validation before passing these parameters to SQL database queries. This is a classic first-order SQL injection vulnerability where user-supplied input is directly concatenated into SQL statements without escaping or prepared statement usage. Affected product: code-projects Online Appointment Booking System version 1.0 (CPE: cpe:2.3:a:code-projects:online_appointment_booking_system:1.0:*:*:*:*:*:*:*).
Affected Products
[{'vendor': 'code-projects', 'product': 'Online Appointment Booking System', 'version': '1.0', 'cpe': 'cpe:2.3:a:code-projects:online_appointment_booking_system:1.0:*:*:*:*:*:*:*', 'affected_component': '/cover.php', 'vulnerable_parameters': ['uname', 'psw']}]
Remediation
[{'type': 'Immediate Mitigation', 'action': 'If patched version is unavailable, implement Web Application Firewall (WAF) rules to block SQL injection patterns in /cover.php, specifically detecting SQL keywords (UNION, SELECT, OR, AND) in uname and psw parameters'}, {'type': 'Code-Level Fix', 'action': "Replace all SQL query concatenation in /cover.php with parameterized prepared statements (mysqli_prepare() or PDO prepared statements in PHP). Example: Use $stmt = $mysqli->prepare('SELECT * FROM users WHERE uname = ? AND psw = ?'); $stmt->bind_param('ss', $uname, $psw);"}, {'type': 'Input Validation', 'action': 'Implement strict whitelist validation for uname (alphanumeric + underscores only) and psw (if stored hashed, validate length); reject special characters'}, {'type': 'Patch Status', 'action': 'Check code-projects GitHub or vendor portal for patched versions > 1.0. If no patch available from upstream, consider forking/patching internally or migrating to maintained appointment booking software'}, {'type': 'Detection & Monitoring', 'action': 'Enable SQL error logging and monitor /cover.php POST requests for suspicious patterns; set up IDS/IPS signatures for SQL injection in authentication endpoints'}]
Priority Score
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-21323