Executive brief
SourceCodester Inventory Management System is a web-based application used to track and manage product inventory and sales. An authorization flaw in the invoice display page allows any staff member to view all invoices in the system, including sensitive customer data, financial amounts, and transaction details belonging to other employees. This exposes confidential business and customer information.
Technical details
This is an Insecure Direct Object Reference (IDOR) vulnerability in the invoice.php file caused by a missing authorization check on the user-supplied 'id' parameter. The application retrieves and displays invoice records based solely on the numeric ID without verifying that the authenticated user owns or has permission to access that invoice. An authenticated staff member can increment the ID parameter in the URL (e.g., ?id=1, ?id=2, ?id=3) to enumerate and access all invoices in the system, exposing customer names, contact details, product information, and sale amounts. No special privileges are required—any authenticated user can perform this attack. The fix requires adding an ownership check to the database query (e.g., WHERE id = ? AND created_by = session_user_id) or restricting invoice access to administrators only.
Affected products
- SourceCodester Inventory Management System 1.0
Timeline
- 2026-08-05: disclosed
- 2026-09-14: advisory