Safeguard
Vulnerability Analysis•

CVE-2025-4761: High SQL Injection in PHPGurukul Complaint Management

CVE-2025-4761 is a high severity SQL injection in PHPGurukul Complaint Management System 2.0, admin profile page. No fix is confirmed, so limit exposure.

Safeguard Security Team
4 min read

CVE-2025-4761 is a high severity SQL injection flaw (CVSS 7.3) in PHPGurukul Complaint Management System 2.0. The mobilenumber input handled by /admin/admin-profile.php reaches a database query unsafely, and the record says it can be reached remotely. No fixed version is confirmed in the record, so check the vendor and cut exposure now.

What's affected

The record names PHPGurukul Complaint Management System 2.0. The weak spot is the file /admin/admin-profile.php and its mobilenumber argument. The record also states that an exploit has been disclosed to the public. It does not say the flaw is exploited in the wild, and the CISA Known Exploited Vulnerabilities list does not include it.

The path sits under an admin folder, which suggests a login screen in front of it, but the CVSS vector in the record lists no privileges required. Do not assume the login protects you until you have tested it on your own copy.

I could not confirm a fixed version or a vendor patch. The vendor site is listed as a reference in the record, so check it and any release notes before you decide the product is safe to keep running.

How to check if you're exposed

Start by finding out whether you run this product at all. Look on your web servers for the file named in the record:

find /var/www -name "admin-profile.php" 2>/dev/null

If the path matches /admin/admin-profile.php, you have the affected code. Check the version in the application footer, the readme or the admin page, and compare it with 2.0.

Next, read the file and see how the mobilenumber value is used. If it is concatenated into a query string, the page is in the same state the record describes. If it already uses prepared statements, your copy may differ from the one that was reported.

Your web server logs can also help. Search for requests to /admin/admin-profile.php and look for unusual values in the mobilenumber field, long strings, or bursts of requests from one address. That will not prove safety, but it shows whether someone has been probing.

What to do now

  1. List every place this application runs, including test and demo copies. Small PHP projects often end up forgotten on shared hosting.
  2. Check the vendor site and release notes for a patched build. If none is confirmed, treat the product as unpatched.
  3. Take the app off the public internet if you can, or restrict it by IP address or VPN until it is fixed.
  4. If you must keep it online, change the query behind /admin/admin-profile.php to a parameterized statement, or put a web application firewall rule in front of the mobilenumber field as a stopgap.
  5. Make sure the database account used by the app has only the permissions it needs, and that it cannot read other databases.
  6. Back up the database and review it for unexpected rows or new accounts.
  7. Plan a replacement if the vendor does not ship a fix.

If you want a quick look at what your own projects pull in, the free in-browser dependency scan at https://gold.safeguard.sh/scan needs no setup. The Gold directory lets you look up other CVEs by id.

Why it matters

The root cause is the classic one. Input from a request is placed into an SQL statement as text, so characters that were meant to be data can change what the statement does. That is CWE-89, a form of the broader CWE-74 injection class. The fix in code is to use parameterized queries, so the database always treats the value as data.

Small PHP applications like this are often deployed exactly as shipped, so a flaw in the code is a flaw in every copy. One reported injection point is a reason to review the rest of the app, not just the field named in CVE-2025-4761. Even a medium or high score here can matter, because a database often holds personal data and login hashes.

Quick check

Is there a patch for CVE-2025-4761?

I could not confirm one from the record. Check the vendor site listed in the references, and treat the product as unpatched until a fixed version is named.

Is this being exploited in the wild?

The record says an exploit was disclosed publicly, but CVE-2025-4761 is not marked as exploited in the CISA Known Exploited Vulnerabilities catalog. Still, public disclosure raises the odds of scanning.

Sources

Last reviewed: 18 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.