Safeguard
Vulnerability Analysis•

CVE-2024-1875: Medium Unrestricted Upload in Complaint Management System

CVE-2024-1875 is a medium (6.3) unrestricted file upload in Complaint Management System version 1.0. Upload is not restricted. Take it offline or lock down uploads.

Safeguard Security Team
4 min read

CVE-2024-1875 is a medium severity (CVSS 6.3) unrestricted file upload flaw in Complaint Management System version 1.0 from SourceCodester. It affects the complaint submission page. The record names no fixed version, so check the project page, patch the code yourself, or retire the application.

What's affected

Complaint 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 puts the flaw in users/register-complaint.php, in the Lodge Complaint section. A write-up linked from the record is titled as remote code execution through unrestricted file upload. The weakness is CWE-434, unrestricted file upload. 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 6.3, which is Medium, with the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L. Both ratings are published. The vector requires low privileges, meaning a normal user account is enough.

How to check if you're exposed

Start by finding the install and the upload folder, then look at what is stored there:

find /var/www/html -type f \( -name "*.php" -o -name "*.phtml" -o -name "*.phar" \) -path "*upload*" 2>/dev/null

Script files inside an upload directory are a red flag, because users should be uploading images, not code. If you find any you did not place there, treat the server as possibly compromised and investigate before you patch.

Also check how the web server treats that folder. If it can execute PHP from the upload path, the weakness is much more dangerous than if it can only serve static files. Review your access logs for requests to files in that folder with unusual extensions.

What to do now

  1. Decide whether you actually run this application. If it is unused or a demo, take it offline and delete it.
  2. Look in the upload directory for script files and anything you do not recognise. If you find some, isolate the host and investigate first.
  3. Configure the web server so the upload directory cannot execute scripts, for example by disabling PHP handling for that path.
  4. Restrict uploads to an allowlist of image types, check content as well as extension, and rename files on save.
  5. Check the project page for a fixed release. The record names none, so plan to patch the code yourself or replace the application.

Why it matters

Unrestricted upload bugs let a user put a file on the server that the developer never intended. When the file is a script and the server will run it from the upload folder, the result is code execution under the web server account. When uploads are only served as static content, the risk is smaller but includes stored cross site scripting and disk exhaustion.

Because the vulnerable page is the one ordinary users use to lodge complaints, any registered user can reach it. A linked write-up describes code execution through this upload. The safe design is to check the file against an allowlist of types, rename it on save, store it outside the web root or on a host that cannot run scripts, and require an authorised user.

The record's Known Exploited Vulnerabilities flag is false. The description says the exploit has been disclosed publicly and may be used.

Quick check

Who can reach the page?

Per the vector, an attacker needs low privileges, so any registered user of the application qualifies.

Is the vendor name correct?

The record lists the product as SourceCodester Complaint Management System, with razormist as the CPE vendor.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.