Vulnerabilidad · Publicado 05/08/2026
Mautic presenta una vulnerabilidad alta (CVSS 7.1) en el controlador AjaxController donde el parámetro 'field' no se valida correctamente antes de ser usado como identificador SQL directo. Un atacante autenticado podría ejecutar consultas SQL arbitrarias para acceder, modificar o exfiltrar datos de contactos (leads) en sistemas que usan esta plataforma de marketing automation, común en empresas medianas y agencias de LATAM.
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.
Score: 7.1/10 — Severidad: HIGH — Estado NIST: Received
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
CWE-89
Publicado en NIST NVD.