Skip to main content

Signal RingRTC EUVDEUVD-2026-104796

| CVE-2026-113380 CRITICAL
Improper Check for Unusual or Exceptional Conditions (CWE-754)
2026-10-20 mitre GHSA-5c63-xm6f-r368
9.3
CVSS 4.0 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Establish/join call with victim
  2. Exploit
    Flood call's FSM event queue
  3. Execution
    Block victim's local hangup teardown
  4. Impact
    Microphone and video keep transmitting

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Unusual condition handling
Exploitation Conditions

Requires an active RingRTC call (Signal) in which the attacker is an accepted peer and can push enough events to saturate the call's bounded FSM event channel; the victim must then initiate a local hangup for the impact (failed teardown) to manifest. Limiting factors: the attacker must already be a call participant (not an arbitrary remote attacker), the victim must be in a call and actively hang up (UI:P), and only RingRTC versions before 2.72.0 are affected - no non-default configuration is otherwise needed.

Impact

Signals are mixed and require careful weighting. The supplied CVSS 4.0 base score is 9.3 (critical) with AV:N/AC:L/AT:N/PR:N/UI:P and high confidentiality/integrity impact (VC:H/VI:H) plus a scope change (S:P, SC:H). However, the real-world attack surface is narrower than a 9.3 suggests: exploitation requires the attacker to already be an active peer in a RingRTC/Signal call with the victim (reflected by UI:P), not an arbitrary internet-based attacker. There is no EPSS score, no CISA KEV listing, and no public POC in the provided data - the only references are the fix commit and the v2.71.0...v2.72.0 compare, so exploitation status is 'no public exploit identified at time of analysis.' The confidentiality rating is credible: the flaw lets a malicious peer saturate the call's finite-state-machine event queue so a local hangup fails to tear the call down, leaving the microphone (and possibly camera) transmitting after the user believes the call ended - a genuine privacy exposure matching the 'Information Disclosure' tag and CWE-754 (improper check for exceptional conditions). Note a nuance worth verifying: the vector sets VA:N (no availability impact) even though the root cause is a queue-saturation/DoS of the teardown path - this is internally consistent because the call stays up rather than going down, but defenders expecting a classic availability DoS should be aware the harm is continued media exposure, not call loss. Net assessment: a real and worth-patching privacy bug for Signal deployments, but the critical score overstates mass-exploitation risk because it needs an in-call adversary and victim-initiated hangup rather than opportunistic remote exploitation.

Exploit ScenarioDerived

A malicious participant in a Signal call floods the call's FSM event queue with enough events to saturate it. When the victim then presses hang up, the teardown blocks on the saturated queue and never completes, so the victim's microphone (and potentially camera) keep transmitting after they believe the call has ended. No public exploit code is available; the attacker must be an established call peer.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Call teardown in Signal's RingRTC media library is unreliable before version 2.72.0: a peer that floods the call's finite-state-machine event channel can prevent a locally initiated hangup from actually tearing down the call, leaving the audio track - and potentially the video track - live after the user believes the call has ended. The attacker must already be an accepted participant in the call (the CVSS 4.0 vector is PR:N, i.e. no privileges required, though call participation is a practical prerequisite) and the victim must actively hang up (UI:P) for the impact to occur, which is why the upstream score of 9.3 is tempered by these preconditions. No public exploit code and no active exploitation have been identified at time of analysis; the realistic threat is a malicious or compromised call peer deliberately saturating the queue so the microphone stays open.

RemediationAI

Upgrade RingRTC to 2.72.0 or later - the vendor-released patch is RingRTC 2.72.0, delivered through the compare link https://github.com/signalapp/ringrtc/compare/v2.71.0...v2.72.0 and the fix commit https://github.com/signalapp/ringrtc/commit/4b1b6fa53c9f30c87c8ea78e44675d4a13e1e4d3; end users should update their Signal client to the release that bundles RingRTC 2.72.0 or newer, since the library itself is not user-installable. Until clients are patched, the actionable compensating controls are user-side rather than network-side: after any hangup, verify the call UI has closed and check the operating system's microphone/camera indicator, force-quitting the Signal app if the indicator persists (trade-off: abrupt termination drops any other in-progress calls and may lose unsent messages until restart); on desktop and mobile the OS-level microphone permission can be revoked for Signal as a hard backstop, with the trade-off that legitimate future calls need the permission re-granted. Restricting who may join calls to trusted contacts reduces the attack surface for peer-driven queue saturation but does not eliminate it, and blocking network ports is not a viable control because the traffic is ordinary Signal call signaling over the app's existing transport.

Affected VersionsENISA

RingRTC 0 <2.72.0

Affected Packages

euvd ringrtc fix: 2.72.0

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

RingRTC is Signal's Rust/C++ wrapper around WebRTC that implements the call state machine used by Signal Desktop, Android and iOS clients. Call lifecycle is driven by a finite state machine fed through a bounded Rust mpsc sync_channel (previously a hard-coded capacity of 256), so every state transition - including the local hangup path that sets CallState::Terminating, injects CallEvent::Terminate and then waits on a condition variable - depends on that FSM dequeuing events in a timely fashion. The root cause is CWE-754 (Improper Check for Unusual or Exceptional Conditions): the pre-2.72.0 terminate path assumed the FSM would always drain normally, blocking indefinitely on the shutdown condvar with no timeout and no fallback if the queue was saturated by peer-driven signaling, so teardown simply never completed and the media tracks survived the hangup. The upstream fix (commit 4b1b6fa, released in v2.72.0) introduces EVENT_QUEUE_SIZE and a five-second TERMINATE_TIMEOUT, records termination intent in an AtomicBool (terminate_requested) that is set after the Terminating state so the FSM cannot observe the flag while the call still reads as active, replaces the unbounded condvar wait with wait_timeout_while returning RingRtcError::TerminateTimeout, and log-and-continues the teardown instead of aborting when the FSM fails to quiesce. The CPE cpe:2.3:a:signal:ringrtc:*:*:*:*:*:*:*:* is a wildcard entry covering every RingRTC release prior to 2.72.0.

Know when Ringrtc 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 (mitre) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:H/SI:N/SA:N/S:P
vuln.today AI 8.2 HIGH

Remote call peer floods the FSM queue (AV:N/AC:L/PR:N); victim must actively hang up (UI:R); continued mic/camera transmission drives C:H; call persists so A:N.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

2
Patch available
Oct 20, 2026 - 06:16 EUVD
CVE Published
Oct 20, 2026 - 04:25 cve.org
CRITICAL 9.3

DescriptionCVE.org

In the RingRTC library before 2.72.0 for Signal, a peer that saturates a call's FSM queue can interfere with the ability of a local hangup to tear the call (with its audio and perhaps also video track) down.

Executive ViewAI

Why It Matters

Signal's RingRTC media library can leave a call's microphone and possibly camera active after a user believes the call has ended when a malicious or compromised participant deliberately disrupts call teardown. This creates a confidentiality and privacy risk for employees discussing sensitive information with external or untrusted parties, and it may undermine confidence in Signal for business communications. No public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting sensitive calls on affected clients, requiring verified call participants, using an approved alternate service for confidential discussions, force-quitting the application after calls and checking OS microphone/camera indicators, disabling microphone and camera permissions when not in use, and monitoring vendor guidance for RingRTC 2.72.0 or later.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
High
core calling library (RingRTC) inside Signal, a widely used messaging app
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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