CVE-2024-40480

9.8 CRITICAL

📋 TL;DR

This Broken Access Control vulnerability in Kashipara Online Exam System v1.0 allows unauthenticated remote attackers to directly access administrator functions via /admin/update.php and /admin/dashboard.php URLs. Attackers can view the admin dashboard and delete valid user accounts without any authentication. All deployments of this specific software version are affected.

💻 Affected Systems

Products:
  • Kashipara Online Exam System
Versions: v1.0
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments of version 1.0 regardless of configuration. The vulnerability is in the application code itself.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise where attackers delete all user accounts, disrupt exam operations, and potentially gain administrative privileges to modify system data.

🟠

Likely Case

Unauthorized access to admin dashboard leading to user account deletion, exam data manipulation, and system disruption.

🟢

If Mitigated

Minimal impact with proper authentication and authorization controls preventing unauthorized access to admin endpoints.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only direct URL access with no authentication or special tools needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Consider implementing proper authentication checks in the affected PHP files or migrating to a different exam system.

🔧 Temporary Workarounds

Implement Authentication Middleware

all

Add authentication checks to /admin/update.php and /admin/dashboard.php files to verify user is logged in as administrator

Edit the PHP files to include session validation: if(!isset($_SESSION['admin_logged_in']) || $_SESSION['admin_logged_in'] !== true) { header('Location: login.php'); exit(); }

Web Server Access Control

all

Use web server configuration to restrict access to /admin/ directory

For Apache: Add to .htaccess: Require valid-user
For Nginx: location /admin/ { auth_basic "Admin Area"; auth_basic_user_file /path/to/.htpasswd; }

🧯 If You Can't Patch

  • Implement network-level access controls to restrict /admin/ URLs to authorized IP addresses only
  • Deploy a Web Application Firewall (WAF) with rules to block unauthenticated access to admin endpoints

🔍 How to Verify

Check if Vulnerable:

Attempt to access http://[target]/admin/dashboard.php and http://[target]/admin/update.php without authentication. If accessible, system is vulnerable.

Check Version:

Check the software version in the application interface or source code files

Verify Fix Applied:

After implementing fixes, verify that unauthenticated access to both URLs returns authentication error or redirects to login page.

📡 Detection & Monitoring

Log Indicators:

  • HTTP 200 responses to /admin/dashboard.php or /admin/update.php from unauthenticated IPs
  • User deletion actions from non-admin IP addresses

Network Indicators:

  • Unusual traffic patterns to admin endpoints from external IPs
  • Burst of DELETE or POST requests to user management endpoints

SIEM Query:

source="web_server" AND (url="/admin/dashboard.php" OR url="/admin/update.php") AND response_code=200 AND NOT user_agent="admin_browser"

🔗 References

📤 Share & Export