phoenixframework phoenix bis 1.5.14/1.6.16/1.7.23/1.8.8 Presence presence.js Presence.syncState/Presence.syncDiff Denial of Service

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
4.1$0-$5k1.15

Zusammenfassunginfo

Es wurde eine als problematisch klassifizierte Schwachstelle in phoenixframework phoenix bis 1.5.14/1.6.16/1.7.23/1.8.8 entdeckt. Betroffen hiervon ist die Funktion Presence.syncState/Presence.syncDiff der Datei assets/js/phoenix/presence.js der Komponente Presence. Durch die Manipulation mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden. Diese Schwachstelle trägt die Bezeichnung CVE-2026-56812. Der Angriff kann remote ausgeführt werden. Es gibt keinen verfügbaren Exploit.

Detailsinfo

Eine problematische Schwachstelle wurde in phoenixframework phoenix bis 1.5.14/1.6.16/1.7.23/1.8.8 ausgemacht. Betroffen davon ist die Funktion Presence.syncState/Presence.syncDiff der Datei assets/js/phoenix/presence.js der Komponente Presence. Durch das Manipulieren mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-404. Dies wirkt sich aus auf die Verfügbarkeit. CVE fasst zusammen:

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 can be 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-rc.0 before 1.5.15, from 1.6.0-rc.0 before 1.6.17, from 1.7.0-rc.0 before 1.7.24, and from 1.8.0-rc.0 before 1.8.9.

Auf github.com kann das Advisory eingesehen werden. Die Identifikation der Schwachstelle findet seit dem 23.06.2026 als CVE-2026-56812 statt. Sie ist leicht ausnutzbar. Der Angriff kann über das Netzwerk passieren. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. MITRE ATT&CK führt die Angriffstechnik T1499 für diese Schwachstelle.

Ein Upgrade auf die Version 1.5.15, 1.6.17, 1.7.24 oder 1.8.9 vermag dieses Problem zu beheben.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Produktinfo

Hersteller

Name

Version

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 4.3
VulDB Meta Temp Score: 4.1

VulDB Base Score: 4.3
VulDB Temp Score: 4.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Denial of Service
CWE: CWE-404
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: keine Massnahme bekannt
Status: 🔍

0-Day Time: 🔒

Upgrade: phoenix 1.5.15/1.6.17/1.7.24/1.8.9

Timelineinfo

23.06.2026 CVE zugewiesen
07.07.2026 +14 Tage Advisory veröffentlicht
07.07.2026 +0 Tage VulDB Eintrag erstellt
07.07.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Produkt: github.com

Advisory: github.com
Status: Bestätigt

CVE: CVE-2026-56812 (🔒)
GCVE (CVE): GCVE-0-2026-56812
GCVE (VulDB): GCVE-100-376658

Eintraginfo

Erstellt: 07.07.2026 19:45
Anpassungen: 07.07.2026 19:45 (55)
Komplett: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!