Safeguard
Vulnerability Analysis•

CVE-2025-4468: High Unrestricted Upload in Student Clearance System

CVE-2025-4468 is a high severity file upload flaw in SourceCodester Online Student Clearance System 1.0 via edit-photo.php. No fix is listed. Remove it.

Safeguard Security Team
4 min read

CVE-2025-4468 is a high severity unrestricted file upload in SourceCodester Online Student Clearance System 1.0, in /edit-photo.php through the userImage argument. The record says the exploit has been disclosed publicly and gives no fix. Do not run this sample application on a public server; patch the code or remove it.

What's affected

  • Product: SourceCodester Online Student Clearance System, a small PHP sample application.
  • Affected: version 1.0.
  • Fixed version: none is stated in the record, and the vendor reference is a project listing rather than an advisory. Treat every copy of this code as vulnerable.
  • Location: /edit-photo.php, through the userImage argument.
  • Public exploit: the record says the exploit has been disclosed to the public and may be used.
  • Severity: CVSS 7.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L), rated High.

How to check if you're exposed

Applications like this are often downloaded as a zip, installed on a test server and then forgotten there. Look for it.

# find the vulnerable file on your web servers
find /var/www /srv /opt -name "edit-photo.php" 2>/dev/null

# check web logs for requests to it
grep -h "edit-photo.php" /var/log/nginx/access.log* /var/log/apache2/access.log* 2>/dev/null | head

If the file exists on a server that faces the internet, assume it has been probed, since the exploit details are public. Also check student, training and demo servers, which tend to run exactly this kind of code.

To see which of your projects pull in an affected component, run the free in-browser dependency scan at gold.safeguard.sh/scan. Reachability analysis then helps you separate libraries that your code actually calls from ones that only sit in a lockfile.

What to do now

  1. Remove the application from any public host. If you must keep it, put it behind a login at the web server.
  2. Disable script execution in the upload directory, and store uploaded files outside the web root.
  3. Review the upload folder for files that are not images, such as scripts, and delete anything you did not put there.
  4. If a script was uploaded, treat the server as compromised: rotate database and application credentials and review the host.
  5. Fix the code by checking the file type on the server, renaming files on save and enforcing a size limit.

Why it matters

The weakness is CWE-434, unrestricted upload of a file of a dangerous type, with CWE-284, improper access control, noted in the record. The photo upload page accepts the file named in userImage without proving that it is an image. On a PHP server, a script that lands in a web visible folder can be requested and run, which turns an upload form into a way to run code.

Apps like this are written for teaching, and they skip checks that a production system needs. That is fine on a laptop and a problem on a public address. The record does not mark this CVE as exploited in the wild, and it is not in the CISA Known Exploited Vulnerabilities list, though the record does say a public exploit exists.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Is there a patch?

The record gives no fixed version. Treat the code as unpatched and fix or remove it.

Why does this matter for a small sample app?

Copies of such code end up on real servers, and the exploit details are public, so scanners can find them.

Sources

Last reviewed: 18 October 2026.

Never miss an update

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

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

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.