RCQ Messenger Duress PIN Flaw Gave Full Access to Real Database on Android
Developers of the open-source messenger RCQ published a detailed post-mortem on flaws in their duress PIN implementation. The feature, also known as panic PIN or decoy code, is intended to let users unlock a harmless version of the app when forced to hand over their device.
Both Android and iOS versions encrypt the local message database. The database key, called dataKey, is stored encrypted with a value derived from the user’s PIN using PBKDF2-HMAC-SHA256 with 400 000 rounds plus a platform-protected pepper. Multiple slots exist for the real PIN, the decoy PIN, and a wipe PIN; each slot was supposed to carry its own payload.
On Android the decoy slot originally stored the identical dataKey used by the real account. Hiding the second account was performed only by an in-memory filter, leaving the real .db files untouched on disk. Entering the decoy code therefore decrypted the genuine conversation history, giving the impression of protection while actually exposing everything.
The root cause traced back to an early design decision to make the decoy mode appear as a second legitimate account sharing the same database. Later analysis showed that server-side correlation via push tokens, IP addresses, and device identifiers would immediately link the two accounts anyway, rendering the shared-key approach both dangerous and unnecessary.
The iOS version avoided the shared-key mistake but introduced its own problem: activating decoy mode cleared contacts and groups, producing an obviously empty application that itself became evidence of concealment. Notifications also bypassed the decoy filter on both platforms, potentially revealing real incoming messages.
After the review the team adopted the iOS cryptographic model across platforms. The decoy slot now holds an independent random key that opens only a separate decoy database. This database is populated with locally generated, realistically dated conversations chosen by the user. No real network requests are possible from decoy mode, eliminating server-side linkage. Legacy slots are marked and require manual re-creation of the decoy PIN.
On desktop the Tauri application uses Argon2id (64 MB memory, 3 passes) to derive a key that encrypts a vault containing both account secrets and message history with AES-256-GCM. The web version deliberately offers no PIN protection because any script in the same origin can read localStorage and IndexedDB.
Related articles
Gmail Address Variants Bypass String Comparison and Enable Multiple Registrations
A single user created four separate accounts using valid Gmail address formats that all deliver to the same inbox: Ivan.Petrov@gmail.com, ivanpetrov@gmail.com, ivan.petrov+shop@gmail.com, and IVAN.PETROV@gmail.com. Simple string comparison in the registration code treated these as distinct entries, allowing circumvention of new-user promotions, free-tier limits, and one-application-per-person rules. The root cause lies in three Gmail-specific behaviors: case-insensitive local parts, plus-addressing that ignores everything after the + symbol, and dots that carry no semantic meaning in the local part. Additional risks arise from IDNA homograph domains that visually mimic legitimate addresses but encode to different Punycode strings. Proper mitigation requires storing both the original email for delivery and a domain-aware normalized form for uniqueness checks, combined with explicit IDNA validation on registration.
Dangling DNS Records Expose Companies to Subdomain Takeovers Years After Projects Shut Down
A marketing team requested reactivation of a three-year-old promotional landing page, only to discover that its domain now served an unrelated third-party website. The root cause was a forgotten CNAME record in the company's DNS zone that continued pointing to a project name on external hosting after the original service had been decommissioned. Because many hosting providers use wildcard DNS entries, standard availability checks and simple DNS resolution tests fail to detect that the target project no longer exists. Attackers who re-register the freed project name can then serve content under the company's legitimate subdomain, automatically obtaining valid TLS certificates and inheriting domain-wide cookies. The article details how such dangling records accumulate across infrastructure, marketing, and acquired company zones, and explains the concrete risks including cookie theft, bypass of Content-Security-Policy, and unauthorized domain ownership proofs. It concludes with a practical remediation workflow: export the full zone, assign owners to every record, validate external targets by application response rather than DNS resolution, and embed record removal into decommissioning procedures.
Google Patches Actively Exploited V8 Zero-Day in Chrome (CVE-2026-85046)
Google has released an urgent update for Chrome to address CVE-2026-85046, a high-severity zero-day vulnerability in the V8 JavaScript engine that is being actively exploited in the wild. The flaw is a type confusion issue within the Maglev compiler, specifically tied to optimizations around Array.prototype.sort, which can lead to arbitrary memory read and write primitives inside the JavaScript heap. Attackers can exploit the vulnerability by tricking victims into visiting a specially crafted HTML page, enabling remote code execution within the browser sandbox. The update brings Chrome to version 152.0.7977.82 or higher on Windows, macOS, and Linux, while also addressing a total of 12 vulnerabilities. The issue was reported by researcher Salvatore Gulizia, known as Serotav, who received a $1,000 reward. Other Chromium-based browsers such as Edge, Brave, Opera, and Vivaldi will require corresponding updates from their vendors.
Google Patches Actively Exploited V8 Zero-Day in Chrome (CVE-2026-85046)
Google has released an urgent update for Chrome to address CVE-2026-85046, a high-severity zero-day vulnerability in the V8 JavaScript and WebAssembly engine that is being actively exploited in the wild. The flaw is a type confusion issue tied to the Maglev compiler and optimizations around Array.prototype.sort, which can lead to arbitrary memory read and write primitives inside the JavaScript heap. Successful exploitation allows a remote attacker to execute arbitrary code within the browser sandbox after a victim visits a specially crafted HTML page, a technique commonly seen in malvertising and compromised-site campaigns. The fix is included in Chrome 152.0.7977.82 and later for Windows, macOS, and Linux, and the update also resolves a total of twelve vulnerabilities. The vulnerability was reported on 4 August 2026 by researcher Salvatore Gulizia, known as Serotav, who received a $1,000 reward. Other Chromium-based browsers such as Microsoft Edge, Brave, Opera, and Vivaldi will require corresponding updates from their respective vendors.