Safeguard
Vulnerability Analysis•

CVE-2024-4817: Medium Resource Identifier Flaw in Campcodes Laundry

CVE-2024-4817 is a medium (6.3) insecure direct object reference in Campcodes Online Laundry Management System 1.0 manage_user.php. No fix is listed.

Safeguard Security Team
3 min read

CVE-2024-4817 is a medium severity flaw in Campcodes Online Laundry Management System 1.0, scored 6.3. The id argument of manage_user.php is not properly controlled, which exposes user records by identifier. The record lists no fixed version, so limit access and plan a replacement.

What's affected

The record names Campcodes Online Laundry Management System 1.0, file manage_user.php, in a component called the HTTP Request Parameter Handler. The weaknesses are CWE-99, improper control of resource identifiers, and CWE-639, authorization bypass through a user controlled key. This is commonly called an insecure direct object reference. The record says the attack can start remotely and a public disclosure exists. The record lists no fixed version and I could not confirm one from the sources, so verify with the project before assuming a patch exists.

NVD gives 6.3 Medium with vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L, and VulDB's wording calls it critical. The KEV flag is false.

The same application has related records: CVE-2024-4819 for another authorization gap, and several SQL injection records such as CVE-2024-4795 on the same manage_user.php file. Different weakness, same page.

How to check if you're exposed

  1. Find the application and read its version. The record covers 1.0.
  2. Check whether the admin screens can be reached by users who should only see their own data.
  3. Review how the page decides which record to show. If it trusts the id in the request, it has this weakness.
  4. Search access logs for runs of requests to the page with sequential ids.

A dynamic scan of a running copy finds this class well, because it can compare what different accounts can see.

What to do now

  1. Put the application behind a VPN or an allow list.
  2. If you own the code, check the signed in user's rights on the server for every record fetch, not only at login.
  3. Replace guessable sequential ids with values the user cannot enumerate, as a secondary measure.
  4. Review user accounts for changes you did not make.
  5. Rotate passwords after review.
  6. Plan to move to a maintained product.

Try it yourself

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

Why it matters

A direct object reference bug is a missing question: is this user allowed to see this record? The page answers with whatever the id asks for. Nothing exotic is needed, which is why CWE-639 stays on top lists of web flaws.

It also shows why access control cannot be left to the interface. Hiding a link is not a check. The server must decide for every request.

Quick check

How is this different from SQL injection?

It abuses missing permission checks on a legitimate query, while SQL injection changes the query itself.

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.