Quick answers
- Is CVE-2026-109605 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-109605 being exploited in the wild.
- How severe is CVE-2026-109605?
- High severity, with a CVSS score of 7.3, published 13 October 2026.
- Which products and versions are affected?
- SourceCodester Simple Cafe Billing System 1.0.
- Is there a fix for CVE-2026-109605?
- No fixed version is recorded yet. Require $_SESSION['login_id'] authentication in ajax.php for all non-public actions (only allow login and signup unauthenticated). In save_user(), never accept the 'type' parameter from POST; force type=2 (staff) on insert operations and restrict type changes to admin users only. Use prepared statements for all database queries and set display_errors=0 in production. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
- How is CVE-2026-109605 attacked?
- It is attacked over the network, in a web application.
- Am I affected by CVE-2026-109605?
- Check whether you run SourceCodester Simple Cafe Billing System at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
Require $_SESSION['login_id'] authentication in ajax.php for all non-public actions (only allow login and signup unauthenticated). In save_user(), never accept the 'type' parameter from POST; force type=2 (staff) on insert operations and restrict type changes to admin users only. Use prepared statements for all database queries and set display_errors=0 in production.
Technical details
The ajax.php router dispatches all backend actions without session validation (CWE-862). The Action::save_user() function in admin_class.php uses extract($_POST) to populate variables, then directly interpolates the attacker-controlled 'type' parameter into an SQL INSERT statement. An unauthenticated attacker sends a POST request to ajax.php?action=save_user with type=1 to create an administrator account, then logs in normally via the unguarded login action to gain full admin access.
Affected products
- SourceCodester Simple Cafe Billing System 1.0
Timeline
- 2026-09-25: disclosed: Vulnerability reproduced in local lab and advisory prepared