Signal fixes bugs in SGX contact discovery service
V12 researchers flagged two bugs in Signal Contact Discovery Service Icelake. Public commits confirm related server-side fixes, but exploitation in practice has not been confirmed.

CDSI Icelake fixes address two object-lifecycle bugs in the Contact Discovery Service, which Signal operates inside an Intel SGX enclave. Researchers from V12 published their analysis on August 26, 2026. According to their claims, the bugs could have allowed an attacker controlling the host server to read enclave memory and ultimately execute code within it.
Signal has two fixed commits in its public repository that correspond to the causes described in the report. However, the company has not independently published technical confirmation of the scope of V12’s demonstration or information about exploitation of the bugs in the wild.
What the CDSI Icelake fixes address
Contact Discovery Service allows the app to determine which of a user’s contacts use Signal. The service runs inside an SGX enclave, a hardware-isolated processor environment. Signal also uses ORAM to protect access patterns, a technique designed to limit what can be inferred from data accesses.
The first publicly available fix, commit df22988, introduces worker ownership state and rejects another worker launch for the same shard. The second, commit b1c5ac4, combines client validation and its state change into one atomic operation. Both changes aim to eliminate race conditions that V12 identified as the basis of the vulnerability.
The researchers claim that, on SGX hardware corresponding to the production environment, they obtained arbitrary enclave-memory reads and control of registers leading to code execution directly inside the enclave. Public code changes support that Signal modified the affected mechanisms, but they do not by themselves confirm the entire claimed exploit chain.
Potential impact involved contact discovery
According to V12, an active private Noise key was obtained from memory. If this claim applied to the production environment before the fix, a host with control of the server or its infrastructure could impersonate the enclave and decrypt contact-discovery queries.
This does not mean that a breach of Signal’s end-to-end message encryption has been confirmed. The available information also does not constitute evidence of a mass data leak or confirmation that anyone accessed specific users’ address books. The period of vulnerability and the exact timing of the fixes’ deployment to all production environments are also unknown.
The case is especially important because SGX is intended to protect data from the operator of the hosting infrastructure. However, hardware isolation and remote attestation cannot replace correctly designed concurrent code inside the enclave. A bug in object management or in the atomicity of state changes can weaken the trust boundary on which the service’s entire model rests.
This is not an app update for users
These are fixes to the CDSI server infrastructure, not a bug that can be resolved by updating the Signal mobile app.
Further developments will depend on any statement from Signal regarding the deployment of the fixes, the scope of the affected systems, and possible findings of exploitation. Independent reproduction of the proof of concept, any CVE assignment, and information on whether Signal rotated keys or introduced additional operational measures will also be relevant.
Sources
- V12 – Compromising Signal's Contact Discovery Enclave – Primary technical description of the two bugs, the alleged proof of concept, the impact, and the responsible-disclosure information.
- Signal GitHub – commit df22988 – Confirms the change that limits a shard to one worker.
- Signal GitHub – commit b1c5ac4 – Confirms merging the canary and client state into one atomic word.
- Signal – Technology Deep Dive: Building a Faster ORAM Layer for Enclaves – Describes the purpose of Contact Discovery and the use of SGX and ORAM in Signal’s architecture.
Verified and updated: 08/27/2026 19:55



