Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Lifecycle Timeline
2DescriptionCVE.org
Chatwoot is a customer engagement suite. From 2.2.0 to before 4.11.2, a SQL injection vulnerability exists in the conversation and contact filter APIs. When filtering by a custom attribute of type date or number using the is_greater_than or is_less_than operators, user-supplied values in the values field of the filter payload are interpolated directly into the SQL query without parameterization. Any authenticated user with access to an account can exploit this to execute arbitrary SQL via time-based blind injection. This affects /api/v1/accounts/{account_id}/conversations/filter, /api/v1/accounts/{account_id}/contacts/filter, and /api/v1/accounts/{account_id}/custom_attribute_definitions. This vulnerability is fixed in 4.11.2.
AnalysisAI
SQL injection in Chatwoot versions 2.2.0 through 4.11.1 allows any authenticated account user to execute arbitrary SQL via time-based blind injection by abusing unparameterized values in custom-attribute filter operators on the conversation, contact, and custom attribute definition APIs. No public exploit identified at time of analysis, and EPSS exploitation probability is very low (0.03%, 8th percentile), but CVSS 8.5 with scope-changed confidentiality impact reflects the ability to read data beyond the attacker's account boundary. The vulnerability is fixed in Chatwoot 4.11.2.
Technical ContextAI
Chatwoot is an open-source customer engagement and support platform written primarily in Ruby on Rails, where dynamic filter APIs translate user-supplied filter payloads into ActiveRecord/SQL queries. The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command): when a filter targets a custom attribute of type date or number and uses the is_greater_than or is_less_than operators, the values field is interpolated directly into the generated SQL string instead of being passed as a bound parameter. Because numeric and date comparison operators are not wrapped in the parameterization path that string operators use, the user-controlled value becomes part of the query text, enabling injection. Per the CPE (cpe:2.3:a:chatwoot:chatwoot) and EUVD data, all Chatwoot deployments at versions 2.2.0 through 4.11.1 are affected.
RemediationAI
Upgrade Chatwoot to 4.11.2 or later, which is the vendor-released patch that adds parameterization for the is_greater_than and is_less_than operators on date and number custom attributes; see the GitHub Security Advisory at https://github.com/chatwoot/chatwoot/security/advisories/GHSA-9pgm-75gg-6948 for the authoritative fix reference. If immediate upgrade is not possible, compensating controls include restricting access to /api/v1/accounts/{account_id}/conversations/filter, /api/v1/accounts/{account_id}/contacts/filter, and /api/v1/accounts/{account_id}/custom_attribute_definitions at a reverse proxy or WAF layer with rules that reject filter payloads containing SQL meta-characters in the values field for numeric/date attributes, and tightening account membership and role assignments so that only fully trusted users hold accounts that can invoke filter APIs - both controls trade off legitimate filtering and onboarding flexibility against risk reduction. Database-side hardening such as enforcing least privilege for the Chatwoot DB role (revoking unnecessary read access to non-Chatwoot schemas) limits blast radius if injection is achieved but does not block the vulnerability itself.
Impact varies for each individual vulnerability in the application. Rated critical severity (CVSS 9.8), this vulnerabili
Unauthenticated arbitrary blob creation in Chatwoot before 4.16.0 lets remote attackers abuse the ActiveStorage direct-u
chatwoot is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerability
Improper Authorization in GitHub repository chatwoot/chatwoot prior to 2.8. Rated high severity (CVSS 7.1), this vulnera
Cross-site Scripting (XSS) - DOM in GitHub repository chatwoot/chatwoot prior to 2.7.0. Rated medium severity (CVSS 6.1)
Insecure Storage of Sensitive Information in GitHub repository chatwoot/chatwoot prior to 2.6.0. Rated medium severity (
Cross-site Scripting (XSS) - Stored in GitHub repository chatwoot/chatwoot prior to 2.5.0. Rated medium severity (CVSS 5
A stored cross-site scripting (XSS) vulnerability exists in chatwoot/chatwoot versions 3.0.0 to 3.5.1. Rated medium seve
Pre-Account Takeover in Chatwoot's OmniAuth integration affects all releases from 2.14.0 through 4.12.x, allowing an att
Chatwoot's multi-tenant API fails to restrict the `account_id` parameter in four controllers (Portals, Automation Rules,
Cross-site scripting (XSS) in Chatwoot up to version 4.7.0 allows remote attackers to inject malicious scripts via the L
Cross-site Scripting (XSS) - DOM in GitHub repository chatwoot/chatwoot prior to 2.14.0. Rated medium severity (CVSS 6.1
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-31913