Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with any valid account
-
DeliveryEnumerate target user ID
-
ExploitPOST /chat/auth requesting private-chatify.<victim>
-
ExecutionReceive Pusher channel signature
-
PersistSubscribe to victim's private channel
-
ImpactIntercept victim's incoming messages and attachments
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated session on a Chatify-powered application running a version before 1.6.4 with the default Pusher broadcasting setup (PR:L). The attacker sends POST /chat/auth supplying an arbitrary channel name of the form private-chatify.<victim id> along with a socket id; the vulnerable endpoint signs any requested channel rather than restricting signing to the caller's own private-chatify.{id} inbox and presence-activeStatus. The attacker must know or enumerate the victim's user id, which is a sequential integer and therefore trivially guessable. Limiting factors: exploitation needs an account on the target instance (so open user registration greatly widens exposure), the impact is confined to reading the victim's incoming private messages and attachments (confidentiality only, no message injection or tampering), and only versions prior to 1.6.4 are affected. No special non-default configuration is required. |
| Impact | This is a genuine, actionable data-confidentiality issue rather than a CVSS-inflated non-event, though it is not top-tier severity. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N, 7.1) shows remote, low-complexity exploitation requiring only low privileges - meaning any registered user of the Chatify-powered application can attack any other user, with high confidentiality impact but no integrity or availability impact. The PR:L requirement is the single most important limiter: this is not an unauthenticated internet-wide flaw, so mass, untargeted exploitation is constrained to applications that allow untrusted account registration. However, Chatify apps are multi-user chat systems where arbitrary user accounts are the norm, so in practice the authentication barrier is trivial to satisfy. No EPSS score was provided and the CVE is not on the CISA KEV list, so there is no evidence of active exploitation; a public technical writeup (hackmd) exists as a PoC reference but is not verified as working exploit code. The vuln.today decision label is 'this_week', consistent with a patched, credibly-reported, confidentiality-impacting authorization flaw that is not an active-exploitation emergency. Net: prioritize patching within the week for any production Chatify deployment that handles sensitive private messages, especially those with open registration. |
| Exploit ScenarioDerived | A low-privileged registered user of a Chatify-based application logs in, then sends a crafted POST to /chat/auth requesting a Pusher signature for the channel private-chatify.<victim id> instead of their own inbox channel. Because pre-1.6.4 signs whatever channel name is supplied, the attacker subscribes to the victim's private channel and receives that victim's incoming private messages and attachments in real time. A public PoC reference exists (hackmd writeup); it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Authorization bypass in Chatify, the Laravel live-chat package (munafio/chatify), before version 1.6.4 lets any authenticated user subscribe to another user's private inbox channel. By POSTing to the package's Pusher authorization endpoint (/chat/auth) with an arbitrary channel name of the form private-chatify.<victim id> and a socket id, an attacker obtains a valid Pusher signature and receives the victim's incoming private messages and attachments in real time. The victim's user id is a sequential integer, so enumeration is trivial; the only prerequisite is a valid account on the target instance (PR:L, network reachable, no user interaction) and the impact is confidentiality-only, with no message injection or tampering. A vendor fix exists in 1.6.4; no public exploit code was identified at time of analysis, although a technical writeup of the bypass is publicly available, and the issue is rated for remediation this week.
RemediationAI
Upgrade munafio/chatify to 1.6.4 or later, which contains commit e16bdb197d227aa2a66863c166bbb31c5f45bc2a; the patch makes the authorization endpoint sign only the authenticated user's own 'private-chatify.{id}' channel and the shared 'presence-activeStatus' channel, returning 403 for every other channel name, so no client or configuration change is required beyond the package bump (verify with composer show munafio/chatify and re-run your asset build). Because the vendor presents the release as the complete fix, upgrading should be treated as the primary remediation; for instances that cannot be updated immediately, apply the same channel allow-list logic to the /chat/auth handler in src/ChatifyMessenger.php as a hotfix, or temporarily disable private-channel authorization for the affected route so that private messaging degrades rather than leaking - both carry the side effect of either maintaining a fork or breaking live private chat. Since exploitation only requires any valid account, temporarily closing self-registration on an affected instance narrows the attacker pool, at the cost of blocking new legitimate sign-ups. Confirm the fixed version in the vendor release notes at https://github.com/munafio/chatify/releases/tag/v1.6.4.
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
Chatify is a Laravel package that layers one-to-one messaging on top of Pusher-compatible broadcasting. Pusher protects private channels by requiring the client to obtain an HMAC signature from the application's authorization endpoint before subscribing; the application is supposed to verify that the requesting session is entitled to the requested channel and only then call socket_auth($channelName, $socketId, $authData). In versions before 1.6.4 the endpoint implemented in src/ChatifyMessenger.php (< v1.6.3 lines ~101-124) did not constrain the supplied channel name to the caller's own inbox: the ownership comparison performed there could be satisfied while the signed channel string was still attacker-chosen, so a request naming private-chatify.<victim id> was signed. The root cause is CWE-639, Authorization Bypass Through User-Controlled Key - an object-level authorization (IDOR) failure where a user-controlled identifier, the channel name carrying the victim's numeric user id, is trusted. The fix in commit e16bdb19 hard-codes the allow-list: only 'private-chatify.' concatenated with the authenticated user's own id, and the shared 'presence-activeStatus' channel, are signed; any other channel name is rejected with HTTP 403, and unauthenticated or mismatched requests are short-circuited before signing. No special non-default configuration is needed for exploitation, and the flaw is confined to reading incoming private traffic on affected installations.
Know when Chatify 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:N/VA:N/SC:N/SI:N/SA:N
Any authenticated user can request a signature over the HTTP endpoint (AV:N/AC:L/PR:L/UI:N); impact is unauthorized read of another user's private messages (C:H), with no integrity or availability effect and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Chatify before 1.6.4 contains an authorization bypass vulnerability in the Pusher channel authorization endpoint that allows authenticated users to subscribe to other users' private channels by supplying arbitrary channel names. Attackers can request a signature for private-chatify.<victim id> via POST /chat/auth to receive the victim's incoming private messages and attachments in real time.
Executive ViewAI
CVE-2026-120425 is an authorization bypass in the Chatify live-chat package (munafio/chatify) used in Laravel applications, allowing any authenticated user to subscribe to another user's private inbox and read real-time messages and attachments. This confidentiality breach affects all users whose private communications are exposed, potentially leading to data leaks, privacy violations, and reputational damage. Leadership should prioritize remediation due to the trivial exploitation via sequential user IDs and the availability of a technical writeup.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-115234
GHSA-ppjp-65hc-5g55
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB