CVE-2026-71245: Mautic: SQL Injection via field Parameter in Lead-by-Field-Value AJAX Endpoint
Mautic's getLeadIdsByFieldValueAction (LeadBundle/Controller/AjaxController.php) reads a field parameter from the request, sanitizes it only with InputHelper::clean() (which HTML-entity-encodes quotes and angle brackets but does not restrict other characters), and passes it into LeadRepository::buildQueryForGetLeadsByFieldValue() where it is concatenated directly as a raw SQL column identifier ($col = 'l.'.$field) rather than being validated against a whitelist of real column names or passed as a bound parameter. Since Doctrine cannot parameterize identifiers, and the sanitizer does not block spaces, parentheses, or other SQL-relevant characters, an attacker can inject SQL via the field name itself. The action requires only a valid session (any authenticated user), unlike sibling actions in the same controller that carry additional permission checks.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-71245?
CVE-2026-71245 has a high severity rating of 7.1.
What type of vulnerability is CVE-2026-71245?
CVE-2026-71245 is a SQL Injection vulnerability affecting Mautic.
How does CVE-2026-71245 affect Mautic?
This vulnerability allows attackers to exploit the field parameter in the Lead-by-Field-Value AJAX endpoint to execute arbitrary SQL queries.
How do I fix CVE-2026-71245?
To mitigate CVE-2026-71245, sanitize inputs thoroughly and apply security patches from the Mautic repository.
What is the potential impact of CVE-2026-71245?
CVE-2026-71245 can lead to unauthorized access to sensitive data through SQL Injection.