Skip to main content

Chatify EUVDEUVD-2026-115234

| CVE-2026-120425 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-11-02 VulnCheck GHSA-ppjp-65hc-5g55
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with any valid account
  2. Delivery
    Enumerate target user ID
  3. Exploit
    POST /chat/auth requesting private-chatify.<victim>
  4. Execution
    Receive Pusher channel signature
  5. Persist
    Subscribe to victim's private channel
  6. Impact
    Intercept 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Chatify 0 <1.6.4

Affected Packages

euvd chatify fix: 1.6.4

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 56% exploitable
Prevalence
Low
niche open-source Laravel chat package embedded in custom apps
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy