Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Single unauthenticated network POST with no user interaction (AV:N/AC:L/PR:N/UI:N) overwrites the admin account, giving full C/I/A over the CRM; scope unchanged as impact stays within the app.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Krayin CRM 2.2.4 contains a missing authentication vulnerability in the installer middleware that allows unauthenticated remote attackers to overwrite the primary administrator account by sending a crafted HTTP POST request with the X-Requested-With: XMLHttpRequest header to bypass the CanInstall middleware redirect check. Attackers can supply arbitrary name, email, and password values to the admin-config-setup endpoint, which performs an unauthenticated updateOrInsert targeting the hardcoded administrator user ID, enabling full administrative access to all CRM data.
AnalysisAI
Administrative account takeover in Krayin CRM (Laravel CRM) 2.2.4 lets unauthenticated remote attackers overwrite the primary admin account by POSTing to the installer's admin-config-setup endpoint with an X-Requested-With: XMLHttpRequest header that defeats the CanInstall middleware redirect. Reported by VulnCheck with a publicly available exploit, it carries a 9.3 CVSS 4.0 and grants full control over all CRM data. There is no public exploit identified as actively exploited in CISA KEV, but working exploit code exists.
Technical ContextAI
Krayin is an open-source CRM built on the Laravel PHP framework (CPE cpe:2.3:a:krayin:laravel-crm). The root cause is CWE-306 (Missing Authentication for a Critical Function): the installer's admin-config-setup route is meant to run only during first-time setup, guarded by the CanInstall middleware which redirects already-installed instances away from setup routes. That guard is bypassable because the middleware's redirect logic is skipped for AJAX-style requests bearing the X-Requested-With: XMLHttpRequest header, leaving the setup handler reachable after installation. The handler then performs an updateOrInsert against a hardcoded administrator user ID using attacker-supplied name, email, and password with no authentication check, so the request rewrites the existing superadmin credentials rather than being rejected.
RemediationAI
No vendor-released fixed version is identified in the provided data, so upgrade to a patched release once Krayin publishes one and monitor the VulnCheck advisory (https://www.vulncheck.com/advisories/krayin-crm-missing-authentication-via-install-api-admin-config-setup) and the Jiva Security write-up (https://jivasecurity.com/writeups/krayin-installer-bypass-account-takeover-cve-2026-41452) for the exact version number. As immediate compensating controls, block or remove the installer routes (the admin-config-setup and related install endpoints) at the web server or firewall on any already-installed instance, since they should never be reachable post-installation; restrict access to these paths to trusted admin IPs if they cannot be fully removed. Additionally, strip or reject the X-Requested-With: XMLHttpRequest header on requests to installer paths at a reverse proxy so the CanInstall redirect cannot be bypassed, and rotate the primary administrator credentials after applying controls in case the account was already overwritten. The trade-off is that blocking installer routes will break any legitimate re-installation flow until temporarily re-enabled, and header filtering must be scoped narrowly to installer paths to avoid breaking legitimate AJAX functionality elsewhere in the CRM.
More in Laravel Crm
View allBlind SQL injection in Krayin CRM's leads DataGrid allows any authenticated user with leads access to exfiltrate the ent
Broken object-level authorization in Krayin CRM (Laravel CRM) through version 2.2.3 lets any authenticated user tamper w
Missing authentication on Krayin CRM's admin mail ingest route lets any remote, unauthenticated attacker POST crafted RF
Stored cross-site scripting (XSS) in Krayin Laravel-CRM up to version 2.2 allows authenticated users with low privileges
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52339
GHSA-9px7-3p6g-6q64