MiroTalk P2P
CVE-2026-121539
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect as joined Socket.IO peer
-
DeliveryLearn or guess victim socket id
-
ExploitSupply peer_id to relay handler
-
ExecutionRelay ICE/SDP across unshared rooms
-
ImpactCross-room signaling exposure or injection
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the attacker to already hold an active Socket.IO connection to the MiroTalk P2P signaling server (PR:L - a joined/connected peer, not fully unauthenticated), and to supply a target peer's socket id (peer_id) to the 1:1 relay handlers (relayICE/relaySDP and related presenter/room handlers). The pre-patch code lacked a check that caller and target share a room, so a connected socket could reach peers of other rooms by guessing or learning their socket id. Limiting factors: the actor must have a live socket on the server, must know or guess a valid target socket id, and impact is confined to WebRTC signaling relay (ICE/SDP) rather than direct server or data-store compromise; no user interaction is required. Updating to 2.1.39 is the vendor-stated remediation. |
| Impact | This is a medium-severity access-control flaw (CWE-284), not a high-priority emergency. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L) scores 5.3 and, with PR:L, requires an authenticated/connected actor - so this is network-reachable but not fully unauthenticated. No EPSS score is provided and there is no CISA KEV listing, so there is no public evidence of active exploitation; the only exploitation signal is a third-party GitHub 'vulnerability-reports' reference, which is a PoC reference rather than verified working exploit code. The vuln.today decision label is 'this_month', consistent with a real-but-moderate issue that should be remediated on a normal patch cadence rather than an act_now/emergency fix. Note a data discrepancy: the NVD/VulDB description attributes the flaw to a 'CheckPassword' function and 'peer_id' manipulation, but the vendor patch commit (4e40471) actually adds room-membership authorization (isPeerInSameRoom/isPeerInRoom) to the relayICE, relaySDP and related Socket.IO relay handlers - verify the exact mechanism with the vendor, as the description and source evidence do not fully align. Overall: a legitimate authorization weakness with low per-signal impact and no confirmed exploitation, warranting timely but not emergency patching. |
| Exploit ScenarioDerived | An actor with an active Socket.IO connection to a MiroTalk P2P signaling server supplies another participant's socket id as peer_id to a relay handler, causing ICE/SDP signaling to be relayed to or from peers in rooms the actor never joined. This enables cross-room signaling exposure or injection by guessing or learning a target socket id. A public PoC reference exists (third-party GitHub report); 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 03, 2026
Improper access control in the Socket.IO signaling handlers of MiroTalk P2P through version 2.1.38 (and the 2.0.87 line) allows a peer that already holds a live socket connection to the server to reach other peers' WebRTC signaling channels by supplying a target's peer_id, bypassing room isolation. The impact is limited to signaling relay manipulation (ICE/SDP and related room/presenter events) with low confidentiality, integrity and availability effects - assessed as a medium-severity flaw (CVSS 3.1 5.3, PR:L), not an emergency. There is no CISA KEV listing and no public exploit identified at time of analysis; the vendor has released version 2.1.39 to fix it.
RemediationAI
Upgrade MiroTalk P2P to version 2.1.39, which the vendor states resolves the issue; the change is contained in upstream commit 4e40471abc48bfc32b4b174b8844716dfc5c1471 (https://github.com/miroslavpejic85/mirotalk/commit/4e40471abc48bfc32b4b174b8844716dfc5c1471), so rebuilding from the 2.1.39 tag or pulling a container image built from it applies the added isPeerInSameRoom/isPeerInRoom authorization checks on the relayICE, relaySDP, presenter and room-targeted Socket.IO handlers. Operators running 2.0.x should move to 2.1.39 as well, since the 2.0.87 line is listed as affected. No vendor-documented workaround or configuration toggle is provided in the available sources - the patch notes describe updating as the fix - so deployments that cannot upgrade immediately carry the residual risk inherent to the medium-severity, connected-peer-only exposure described in the advisory (https://vuldb.com/vuln/430300). There is no CISA KEV deadline associated with this CVE, so scheduling the upgrade within the current monthly patch cycle matches the assigned priority.
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
MiroTalk P2P is a WebRTC video-conferencing application whose Node.js backend (app/src/server.js) runs a Socket.IO signaling server that brokers ICE candidates and SDP offers/answers between browser peers. Rooms are tracked in a server-side peers map keyed by room_id and socket id; the vulnerable code paths accepted a client-supplied peer_id in the 1:1 relay events (relayICE, relaySDP) and in presenter/room-targeted handlers without verifying that the caller and the target were joined peers of the same room, so a connected socket could address peers in other rooms by guessing or learning their socket ids. The class is CWE-284 (Improper Access Control): the missing authorization check on an object reference rather than a memory-safety defect. The fix commit 4e40471abc48bfc32b4b174b8844716dfc5c1471 adds an isPeerInSameRoom(socket, target_id, room_id) helper plus isPeerInRoom(room_id, peer_id) guards on each relay/presenter handler, and hardens isPeerInRoom to validate string types, use Object.hasOwn on the peers map and exclude room metadata keys. The CVE description attributes the issue to the CheckPassword function of app/src/server.js, while the released patch modifies the Socket.IO relay and room handlers described above; the trigger conditions in the advisory sources are limited to attacker-supplied peer_id handling.
Know when Mirotalk P2P 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:L/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable (AV:N/AC:L/UI:N) but requires an established connected peer, so PR:L; impact limited to cross-room signaling relay, giving low C/I/A.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A vulnerability was found in miroslavpejic85 MiroTalk P2P up to 2.0.87/2.1.38. Affected by this issue is the function CheckPassword of the file app/src/server.js of the component Socket IO Handler. Performing a manipulation of the argument peer_id results in improper access controls. It is possible to initiate the attack remotely. Upgrading to version 2.1.39 can resolve this issue. The patch is named 4e40471abc48bfc32b4b174b8844716dfc5c1471. You should upgrade the affected component.
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.
Affected Products (CPE)CVE.org
More in Mirotalk P2P
View allA cross-site scripting (XSS) vulnerability in MiroTalk P2P before commit f535b35 allows attackers to execute arbitrary w
Password guessing against locked MiroTalk P2P meeting rooms is effectively unlimited in versions up to 2.0.87, because t
NVD
CVE.org
GitHub
VulDB
Exploit-DB