Skip to main content

Baileys CVE-2026-48063

| EUVDEUVD-2026-52440 CRITICAL
Authentication Bypass by Spoofing (CWE-290)
2026-06-10 https://github.com/WhiskeySockets/Baileys GHSA-qvv5-jq5g-4cgg
9.3
CVSS 4.0 · Vendor: https://github.com/WhiskeySockets/Baileys
Share

Severity by source

Vendor (https://github.com/WhiskeySockets/Baileys) PRIMARY
9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.2 HIGH

Remote, no auth or interaction, and easily triggered (AV:N/AC:L/PR:N/UI:N); core impact is message/state spoofing so I:H, sync jamming gives A:L, and no real data disclosure so C:N.

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

Primary rating from Vendor (https://github.com/WhiskeySockets/Baileys).

CVSS VectorVendor: https://github.com/WhiskeySockets/Baileys

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

5
Analysis Updated
Aug 03, 2026 - 21:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Aug 03, 2026 - 21:22 vuln.today
cvss_changed
CVSS changed
Aug 03, 2026 - 21:22 NVD
9.3 (CRITICAL)
Source Code Evidence Fetched
Jun 10, 2026 - 20:00 vuln.today
Analysis Generated
Jun 10, 2026 - 20:00 vuln.today

DescriptionCVE.org

Impact

Any baileys session under the latest version (< 7.0.0-rc12, and < 6.7.22) can be sent a malicious payload via the placeholderResendMessage and trigger a fake messages.upsert event with a fake message key and payload. This allows anyone to spoof messages. The same exploit also allows an attacker to corrupt the app state sync system by sending fake key shares, and also allows for history sync spoofing which also serves the same problem, injecting fake previous context or "on-demand" sync.

Patches

https://github.com/WhiskeySockets/Baileys/commit/3beb08eecfcb4e65722e674034bd84fb11a9de35 This commit has patched the issue, and a version tag has been released under 7.0.0 (6.7.22) for those still on Baileys v6. A new Baileys version, v7.0.0-rc12, has been released to remediate this.

Workarounds

There are no real workarounds other than dropping messages.upsert events that contain a requestId field, turning off automatic history sync (shouldSyncHistoryMessage: () => false) in socket config. There are no workarounds for the app state sync jamming.

AnalysisAI

Message and history-sync spoofing in the Baileys WhatsApp Web library (npm baileys / @whiskeysockets/baileys, versions < 6.7.22 and 7.0.0-rc.1 through < 7.0.0-rc12) lets any remote party send a crafted protocolMessage through the placeholderResendMessage path to fire a fake messages.upsert event with an attacker-chosen message key and payload. This permits arbitrary message spoofing, injection of fake history/on-demand sync context, and corruption of the app-state sync system via forged app-state key shares. Publicly available exploit code exists (proof-of-concept gist); there is no evidence of active exploitation and EPSS is negligible at 0.02%.

Technical ContextAI

Baileys is a TypeScript/Node.js library that speaks the WhatsApp Web multi-device protocol directly over WebSocket, widely used to build WhatsApp bots and integrations. The flaw sits in src/Utils/process-message.ts, which dispatches protocolMessage sub-types. Certain sub-types are only ever legitimately generated by the account's own paired devices - HISTORY_SYNC_NOTIFICATION, APP_STATE_SYNC_KEY_SHARE, LID_MIGRATION_MAPPING_SYNC, and PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE - yet the code processed them regardless of origin. This maps to CWE-290 (Authentication Bypass by Spoofing): the receiver trusts the claimed identity/origin of the message instead of verifying that self-only control messages actually came from the user's own device (fromMe). The patch mirrors whatsmeow's handleProtocolMessage guard by dropping these self-only types when message.key.fromMe is false.

RemediationAI

Vendor-released patch: upgrade to Baileys 6.7.22 (v6 users) or 7.0.0-rc12 (v7 release-candidate users), both of which contain the fix commit 3beb08eecfcb4e65722e674034bd84fb11a9de35 (https://github.com/WhiskeySockets/Baileys/commit/3beb08eecfcb4e65722e674034bd84fb11a9de35); see advisory GHSA-qvv5-jq5g-4cgg. If you cannot upgrade immediately, the vendor states there are no complete workarounds, but partial mitigations are: drop incoming messages.upsert events that carry a requestId field (blunts the placeholderResendMessage spoofing path, at the cost of losing legitimate resend/placeholder handling), and disable automatic history sync by setting shouldSyncHistoryMessage: () => false in the socket config (prevents history-sync spoofing but disables automatic backfill of prior conversation history). Note explicitly that there is no workaround for the app-state sync jamming via fake key shares - only the patch resolves that - so upgrading is the sole reliable remediation.

Share

CVE-2026-48063 vulnerability details – vuln.today

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