Executive brief
PHPGurukul Small CRM is a web-based customer relationship management application. The login success handler fetches geolocation data over unencrypted HTTP and directly deserializes the response without validation, allowing a network attacker positioned between the CRM server and the geolocation service to inject malicious PHP objects. An attacker with valid credentials and network access can trigger arbitrary code execution on the server.
Technical details
This is a PHP object injection vulnerability (CWE-502) in the login success handler (/crm/login.php, lines 18-22). The vulnerable code fetches geolocation data from a third-party service via plaintext HTTP and passes the response directly to unserialize() without restricting allowed_classes. An attacker capable of performing man-in-the-middle attacks (ARP spoofing, DNS poisoning, or network path control) can intercept the HTTP response and inject a serialized payload containing arbitrary PHP objects. When deserialized, this can instantiate gadget chain objects leading to remote code execution if exploitable gadgets are available in the application or its dependencies. Exploitation requires valid CRM credentials and network-level MITM capability.
Affected products
- PHPGurukul Small CRM 3.0 through 4.0
Timeline
- 2026-09-13: disclosed
- other: Exploit code released publicly on GitHub