Chatwoot
CVE-2025-12245
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to attacker-controlled page
-
ExploitLoad/embed Chatwoot widget with crafted baseUrl
-
ExecutionBypass postMessage origin validation
-
ImpactRead cross-origin widget messages
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Exploitation targets the embeddable Chatwoot Widget specifically through the initPostMessageCommunication function in app/javascript/sdk/IFrameHelper.js, where the baseUrl argument is used without sufficient origin validation; the flaw is only reachable in deployments that embed the Chatwoot JavaScript chat widget on web pages. Impact is limited to low-level information disclosure (VC:L, no integrity or availability effect). Practical exploitation realistically depends on getting a victim to interact with an attacker-controlled or attacker-influenced page that establishes postMessage communication with the widget - a limiting factor the official UI:N vector does not reflect. Affected versions are Chatwoot up to and including 4.7.0. |
| Impact | This is a moderate-severity origin validation flaw (CWE-345) in Chatwoot's embeddable chat Widget, best treated as a lower-priority issue despite the 'remote' framing. The vendor's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with only low confidentiality impact (VC:L) and no integrity or availability impact yields a base score of 5.5, and the embedded E:P exploit-maturity metric reflects that a proof-of-concept exists rather than mature/weaponized tooling. EPSS reinforces low real-world urgency: 0.33% probability at the 24th percentile, i.e. in the bottom quartile for likelihood of exploitation. The CVE is NOT on CISA KEV, so there is no evidence of active exploitation - only publicly available PoC code (the hckwr.com blog write-up). The signals are internally consistent: a network-reachable, unauthenticated flaw with limited (information-disclosure-only) impact and modest exploitation probability. One caveat to verify: a postMessage origin-validation weakness typically requires a victim to load an attacker-influenced page or embed, yet the vendor vector asserts UI:N - real-world exploitation may in practice involve some user interaction (victim visiting a malicious page), which the official vector does not capture. Also note the vendor did not respond to disclosure, so there is no authoritative vendor advisory confirming affected versions or a fix. |
| Exploit ScenarioDerived | An attacker hosts a malicious web page that loads or communicates with a Chatwoot widget and abuses the weak origin check in initPostMessageCommunication by manipulating the baseUrl argument, causing the widget to accept or send postMessage data across trust boundaries. Because origin validation is insufficient, the attacker can read information exchanged with the widget (low-impact disclosure). A public proof-of-concept exists (documented on hckwr.com), lowering the barrier to reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Origin validation flaw in Chatwoot's embeddable chat Widget (versions up to and including 4.7.0) allows an attacker-influenced page to abuse postMessage handling in app/javascript/sdk/IFrameHelper.js and disclose low-sensitivity information from a widget-embedded session. Only deployments that embed the Chatwoot JavaScript chat widget on web pages are exposed, and practical exploitation requires a victim to interact with an attacker-controlled page even though the base CVSS 4.0 vector lists PR:N/UI:N. Public exploit code exists, EPSS is low at 0.33% (24th percentile), and there is no CISA KEV confirmation of active exploitation.
RemediationAI
No vendor-released patch was identified at the time of analysis; the vendor was contacted early but did not respond, so confirm current status before relying on an upgrade. Until a fixed release is available, the most direct mitigation is to harden or locally patch initPostMessageCommunication in app/javascript/sdk/IFrameHelper.js so that event.origin is checked against an explicit allowlist of configured Chatwoot instance domains and postMessage targetOrigin is set to that exact origin rather than a wildcard, with the trade-off that any legitimate third-party embedding domains must be added to the allowlist. If the widget cannot be patched promptly, remove the embeddable widget from untrusted or third-party pages and restrict framing with a CSP frame-ancestors policy limited to trusted host domains, accepting that this breaks intended third-party embeds; additionally, host the widget iframe on a dedicated domain to reduce exposure and monitor for anomalous cross-origin widget traffic. Advisory references include https://vuldb.com/?id.329916, https://vuldb.com/?ctiid.329916, and https://hckwr.com/blog/multiple-vulnerabilities-in-chatwoot/.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-345 insufficient verification of data authenticity problem in Chatwoot's JavaScript SDK, specifically the initPostMessageCommunication function in app/javascript/sdk/IFrameHelper.js, which sets up cross-origin communication between a host page and the Chatwoot widget iframe. The baseUrl argument is used without adequate origin validation, so messages or redirect targets originating from untrusted origins may be accepted or trusted by the widget communication channel. The affected CPE is cpe:2.3:a:chatwoot:chatwoot:*:*:*:*:*:*:*:*, covering Chatwoot through 4.7.0, and the vulnerable surface is limited to deployments that embed the widget. Our independent assessment rates this CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N, reflecting a remote but victim-interaction-dependent path with only low confidentiality impact and no integrity or availability effect; the official CVSS 4.0 vector lists UI:N, but the realistic requirement for a victim to load and interact with an attacker-influenced page is the authoritative exploitation condition.
Know when Chatwoot 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:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
Network-reachable postMessage origin flaw needing a victim to load a malicious page (UI:R), unauthenticated with low confidentiality-only impact and no integrity/availability effect.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A vulnerability was identified in chatwoot up to 4.7.0. This vulnerability affects the function initPostMessageCommunication of the file app/javascript/sdk/IFrameHelper.js of the component Widget. The manipulation of the argument baseUrl leads to origin validation error. Remote exploitation of the attack is possible. The vendor was contacted early about this disclosure but did not respond in any way.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
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
SQL injection in Chatwoot versions 2.2.0 through 4.11.1 allows any authenticated account user to execute arbitrary SQL v
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
NVD
CVE.org
EPSS
VulDB
GitHub PoC
Exploit-DB