> CVE-2026-56812 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-07-07 16:16
MODIFIED
2026-07-07 16:16
CVSS_SCORE V3
6.3
EPSS (Prob. Exploit)
0.80%
Top 43.9%
DATA SOURCES:
NVD đź”— 2026-07-07 CWE MITRE đź”— 2026-11-01 FIRST EPSS đź”— 2026-10-25 GITHUB đź”— 2026-11-05 OSV đź”— 2026-09-13

> DESCRIPTION

Improper Check for Unusual or Exceptional Conditions vulnerability in phoenixframework phoenix (Presence JavaScript client) allows an attacker with ordinary channel access to cause a persistent client-side denial of service against every viewer of a presence channel topic. This vulnerability is associated with program files assets/js/phoenix/presence.js and program routines Presence.syncState and Presence.syncDiff. The Phoenix JavaScript presence client checks whether a presence already exists with a bare truthiness test (state[key]) instead of an own-property check. Presence keys are attacker-controlled, because applications track presences under a username or id supplied by the client. A user who joins a channel choosing a key that is an Object.prototype member name (__proto__, constructor, toString, hasOwnProperty, and similar) makes that lookup return JavaScript's built-in Object.prototype instead of undefined. Because the prototype is truthy, the code treats it as an existing presence and reads .metas.map(...) off it, which throws an uncaught TypeError. The exception propagates out of the presence message handler, so the local state is never updated and onSync() never fires. Because the malicious key is tracked on the server, it is re-pushed on every presence update and keeps re-throwing, so presence sync stays broken for every viewer of that channel topic until the attacker leaves. Both syncState and syncDiff use the same unsafe existence-check pattern. The impact is limited to the affected topic and is a read-time confusion of the prototype object, not a mutation of Object.prototype (it is not prototype pollution). This issue affects phoenix: from 1.2.0 before 1.5.15, from 1.6.0 before 1.6.17, from 1.7.0 before 1.7.24, and from 1.8.0 before 1.8.9.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
Low (L)
Interruption partielle du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
Low
Interruption partielle du service possible

> WEAKNESSES

CWE-754

> CWE DETAILED DESCRIPTIONS

CWE-754: Improper Check for Unusual or Exceptional Conditions - The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.

> GITHUB SECURITY ADVISORY

GHSA-63mc-hw7g-86rr MODERATE

Phoenix: Presence keys colliding with `Object.prototype` members break existence checks

AFFECTED PACKAGES:
NPM / phoenix
>= 1.8.0-rc.0, < 1.8.9
Fixed in: 1.8.9
NPM / phoenix
>= 1.7.0-rc.0, < 1.7.24
Fixed in: 1.7.24
NPM / phoenix
>= 1.6.0-rc.0, < 1.6.17
Fixed in: 1.6.17
NPM / phoenix
>= 1.2.0-rc.0, < 1.5.15
Fixed in: 1.5.15
ERLANG / phoenix
>= 1.8.0-rc.0, < 1.8.9
Fixed in: 1.8.9
ERLANG / phoenix
>= 1.7.0-rc.0, < 1.7.24
Fixed in: 1.7.24
ERLANG / phoenix
>= 1.6.0-rc.0, < 1.6.17
Fixed in: 1.6.17
ERLANG / phoenix
>= 1.2.0-rc.0, < 1.5.15
Fixed in: 1.5.15

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff

AFFECTED PACKAGES:
Unknown / Unknown
72 versions affected
ALIASES:
EEF-CVE-2026-56812, GHSA-63mc-hw7g-86rr

> HISTORIQUE DES MODIFICATIONS

Première apparition
07/07/2026 16:16
Source: NVD
📊 ENRICHISSEMENT 01/08/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-754: Improper Check for Unusual or Exceptional Conditions - The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during ...
Total des modifications: 1 Dernière mise à jour: 3 months ago

> REFERENCES

https://cna.erlef.org/cves/CVE-2026-56812.html
https://github.com/phoenixframework/phoenix/commit/7f7b971c1ea0994e3fbd1c11ddb05...
https://github.com/phoenixframework/phoenix/commit/89a1c4be161e436241e12b2378a71...
https://github.com/phoenixframework/phoenix/commit/b90b22521465ece00eb5a19d5aa2b...
https://github.com/phoenixframework/phoenix/commit/beffc4da1e787e572121f68902c63...
https://github.com/phoenixframework/phoenix/security/advisories/GHSA-63mc-hw7g-8...
https://osv.dev/vulnerability/EEF-CVE-2026-56812
« BACK_TO_HOME