CVE-2024-1876 is a high severity (CVSS 7.3) SQL injection flaw in Employee Management System version 1.0 from SourceCodester. It affects the psubmit page. The record names no fixed version, so check the project page, patch the code yourself, or retire the application.
What's affected
Employee Management System version 1.0, from SourceCodester. The record lists version 1.0 only, and does not name any newer or patched release.
The description places the flaw in /psubmit.php, where the pid argument leads to SQL injection. The weakness is CWE-89, SQL injection. The description says the attack can be launched remotely and that the exploit has been disclosed publicly and may be used.
Severity conflict. The description text, which follows the VulDB style, calls this issue critical. NVD's own CVSS 3.1 score is 7.3, which is High, with the vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L. Both ratings are published. The vector in the record needs no privileges, so no account is required.
How to check if you're exposed
These are small PHP applications with no package manager entry, so the check is about your own deployment. Find the install and confirm the product and version:
find / -type f -name "psubmit.php" 2>/dev/null
grep -rn "mysqli_query\|mysql_query" /var/www/html | head -50
The second command lists places where queries are run directly. Look at each one that uses a request value such as a POST or GET field. A query assembled by joining strings with request data is the weakness class this CVE describes.
Check your web server access logs for repeated requests to psubmit.php from addresses you do not recognise, and for login attempts that succeed with odd looking input. That tells you whether anyone has already probed the endpoint.
What to do now
- Decide whether you actually run this application. If it is a demo, a learning project or an unused install, take it offline and delete it.
- Check the record references and the project page for a fixed release. None is named in the record, so assume there is no patch.
- If you must keep it, change the vulnerable query to use prepared statements with bound parameters, and validate input on the server.
- Put the application behind authentication or a VPN, and do not expose it directly to the internet.
- Run it with a database account that has only the rights it needs, and rotate any credentials stored in its tables.
Why it matters
SQL injection is one of the oldest and best understood web flaws. The fix is also well understood: use prepared statements with bound parameters, so the database never confuses a value with part of the query. When code builds the query by joining strings, a crafted value can change what the query does.
Employee systems hold personal data such as names, phone numbers and leave records. Public exploit write-ups make small applications like this easy targets, because attackers scan for known file names.
The record's Known Exploited Vulnerabilities flag is false, and I found no source saying this CVE is exploited in the wild. The description does say the exploit has been disclosed publicly.
Quick check
Which parameter is affected?
pid in /psubmit.php.
Are there more bugs in this product?
Yes. CVE-2024-1877 and CVE-2024-1878 are SQL injection in other files of the same system.
Sources
- NVD record for CVE-2024-1876
- VulDB entry 254724 (listed in the record, not retrievable when reviewed)
Last reviewed: 19 October 2026.