Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege CRM user
-
DeliveryAccess leads DataGrid endpoint
-
ExploitInject SQL payload into rotten_lead[in] parameter
-
ExecutionTrigger unsafe havingRaw() concatenation
-
PersistExecute time-based blind enumeration over repeated requests
-
ImpactExtract credential hashes and full database contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid Krayin CRM user account with access to the leads module - this is a low-privilege role that any standard sales or CRM operator account would hold, not an administrative role. The rotten_lead[in] parameter is reachable through normal leads DataGrid interaction, so no non-default configuration or feature flag is necessary beyond having leads access. Exploitation is network-based against any internet- or intranet-exposed CRM instance. Limiting factors include: authentication is mandatory (unauthenticated exploitation is not possible per PR:L in the CVSS vector); blind injection is inherently slow and generates elevated database query load and access logs, increasing detectability; and write/delete capabilities are constrained by the HAVING-clause injection context, which typically precludes stacked queries under Laravel's PDO driver, meaning active data manipulation is not confirmed from available information. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) scores 8.7 and reflects network accessibility with no attack complexity and only low-privilege authentication required - a realistic threat model for any multi-user CRM deployment exposed to internal networks or the internet. The High confidentiality impact is well-supported by the description: full database read access via blind injection yields credentials, PII, and configuration secrets. The VI:H and VA:H ratings in the provided vector are somewhat generous for a HAVING-clause-only injection where stacked queries are typically blocked by PHP's PDO layer; write integrity impact is not independently confirmed from the description, and availability impact is primarily the slow DoS achievable via SLEEP() payloads. A public exploit writeup with documented technique exists, lowering the skill barrier significantly. No EPSS data was provided and no CISA KEV listing exists at time of analysis, suggesting exploitation has not yet been confirmed widespread; however, the combination of a documented public POC, a low-privilege requirement, and high-value data exposure (credential hashes) constitutes a genuinely elevated real-world risk, not just a high-CVSS-on-paper finding. |
| Exploit ScenarioDerived | A publicly available writeup at https://jivasecurity.com/writeups/krayin-lead-datagrid-sqli-cve-2026-41453 documents the attack technique. An attacker with a standard CRM account that has leads access sends crafted HTTP requests to the leads DataGrid endpoint, appending SQL payloads to the rotten_lead[in] parameter - for example, injecting a conditional SLEEP() expression into the HAVING clause and measuring response timing to infer true/false conditions. Over hundreds of iterative requests, the attacker reconstructs the database schema, then methodically dumps tables containing user credential hashes, pipeline records, and application secrets without triggering application-level errors. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
Blind SQL injection in Krayin CRM's leads DataGrid allows any authenticated user with leads access to exfiltrate the entire database, including credential hashes, CRM records, and application configuration data. The flaw exists in LeadDataGrid.php where the rotten_lead[in] query parameter is unsafely concatenated directly into a Laravel havingRaw() call without parameterized binding, enabling time-based and boolean-based blind injection. A public exploit writeup is available (jivasecurity.com), and the vendor has released a confirmed fix in v2.2.4; no CISA KEV listing at time of analysis, but the low exploitation barrier for any authenticated user makes this an urgent upgrade priority.
RemediationAI
Upgrade Krayin CRM to version 2.2.4 or later immediately; the fix is confirmed in the official release at https://github.com/krayin/laravel-crm/releases/tag/v2.2.4 and the patch commit is documented at https://github.com/krayin/laravel-crm/commit/2a3724cb7e9e65ab98f2b42c8ca2c98dede48f62. If an immediate upgrade is operationally blocked, restrict access to the leads DataGrid to the minimum set of trusted, high-privilege users via CRM role configuration, reducing the number of principals who can reach the rotten_lead[in] parameter. A WAF rule blocking SQL keywords and function patterns (SLEEP, BENCHMARK, AND 1=, OR 1=) in query string parameters named rotten_lead can add a compensating layer but is not a substitute for patching since blind injection encodings can evade signature-based filters. Note that the v2.2.4 release also patches a stored XSS in the notes field (#2542) and an IDOR in agent record access control (#2567), making the upgrade additionally compelling from a holistic security posture.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Krayin CRM is an open-source PHP/Laravel CRM application (CPE: cpe:2.3:a:krayin:laravel-crm:*:*:*:*:*:*:*:*). Laravel's query builder exposes a havingRaw() method that accepts raw SQL fragments for HAVING clauses - a legitimate but dangerous API when user-supplied input is concatenated directly rather than passed as bound parameters. CWE-89 (SQL Injection) covers exactly this failure mode: the application trusts and interpolates attacker-controlled data into a SQL fragment, bypassing the parameterized-query protections that Laravel's Eloquent ORM would otherwise enforce. The specific injection point, the rotten_lead[in] query parameter used for filtering leads by 'rotten' status, is processed in LeadDataGrid.php and appended verbatim into the HAVING clause of the underlying query. Because HAVING operates post-aggregation on a SELECT, the injection is exploitable through time-based (SLEEP-based) and boolean-based blind techniques to enumerate schema structure and systematically extract arbitrary database rows without triggering overt errors.
Know when Krayin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-exploitable with low privilege; C:H for full database read; I:N because HAVING-clause injection via PDO typically precludes stacked writes; A:L for SLEEP-based DoS only.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Krayin CRM before 2.2.4 contains a blind SQL injection vulnerability in the leads DataGrid that allows authenticated users with leads access to inject arbitrary SQL into a HAVING clause by manipulating the rotten_lead[in] query parameter, which is concatenated without parameterized binding directly into a havingRaw() call in LeadDataGrid.php. Attackers can exploit this flaw using time-based and boolean-based blind injection techniques to extract the entire database contents, including user credential hashes, CRM records, and application configuration data.
Executive ViewAI
Krayin CRM versions prior to 2.2.4 allow any employee with leads access to exfiltrate the complete customer database and authentication credentials, creating immediate insider threat and data breach risk. The vulnerability compromises customer trust, exposes sensitive business records, and violates data protection regulations. Leadership must prioritize immediate patching to contain this critical data exposure.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Administrative account takeover in Krayin CRM (Laravel CRM) 2.2.4 lets unauthenticated remote attackers overwrite the pr
Broken object-level authorization in Krayin CRM (Laravel CRM) through version 2.2.3 lets any authenticated user tamper w
Unauthenticated remote users can still reach the installer and admin-config-setup endpoints of Krayin CRM (laravel-crm)
Missing authentication on Krayin CRM's admin mail ingest route lets any remote, unauthenticated attacker POST crafted RF
Improper privilege management in Krayin laravel-crm up to and including 2.2.5 lets an authenticated back-office user who
An insecure direct object reference (IDOR) in Krayin laravel-crm through version 2.2.5 allows any authenticated user to
Improper access control in Krayin Laravel CRM through 2.2.5 allows an authenticated low-privilege admin user to access a
Cross-site scripting in Krayin Laravel CRM through 2.2.5 lets an authenticated user with access to the admin configurati
Stored cross-site scripting (XSS) in Krayin Laravel-CRM up to version 2.2 allows authenticated users with low privileges
Stored cross-site scripting in Krayin CRM (laravel-crm) up to and including version 2.2.5 lets an authenticated administ
Stored cross-site scripting in Krayin laravel-crm (versions up to and including 2.2.5) lets an authenticated user with a
Stored client-side template injection in Krayin CRM through 2.2.6 allows an authenticated user with rights to create or
EUVD-2026-52341
GHSA-8879-fh4f-q3qm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB