VDB
GCVE-110-OSM-2026-12373
GCVE-110-OSM-2026-12373
Advisory PublishedCVSS 5.4/10
This package presents as a Baileys WhatsApp library fork and the entrypoint (engine-requirements.js) is genuinely benign — it only checks Node.js version. The Buffer.from base64 operations and string arrays in WABinary/constants.js are consistent with WhatsApp protocol implementation, and the '.profile' matches likely refer to WhatsApp profile operations rather than filesystem persistence. However, the publisher 'xzv-expzc' is a 6-day-old burner account with xzvbailsx already confirmed malicious.
While we do not see a malicious payload in this package, we are marking this as suspicious because of its author and connections to threat actors in the Baileys space.
ENTRY
engine-requirements.js (install-hook: node ./engine-requirements.js)
- Install Hook Executes Local JS File in package.json
PERSISTENCE
- Startup Persistence in lib/Socket/chats.js: ".profile"
- Startup Persistence in lib/Socket/messages-send.js: ".profile"
DESTINATION
- 1 exfil (custom-c2)
(values recorded in verified_iocs)
EXFIL
- Data Encoding for Exfiltration in lib/Socket/socket.js: "Buffer.from(creds.noiseKey.public).toString('base64')"
- Data Encoding for Exfiltration in lib/Utils/chat-utils.js: "Buffer.from(indexMac).toString('base64')"
- Data Encoding for Exfiltration in lib/Utils/generics.js: "Buffer.from(value?.data || value).toString('base64')"
- Data Encoding for Exfiltration in lib/Utils/messages-media.js: "Buffer.from(media.fileSha256).toString('base64')"
- Data Encoding for Exfiltration in lib/Utils/process-message.js: "Buffer.from(keyId.keyId).toString('base64')"
- Network Request in lib/Utils/generics.js: "fetch('https:"
- Network Request in lib/Utils/messages-media.js: "request({ hostname: parsedUrl.hostname, port: parsedUrl.port || (parsedUrl.proto..."
OBFUSCATION
- Dynamic Base64 Decoding in lib/Socket/newsletter.js: "Buffer.from(jid, "base64")"
- Dynamic Base64 Decoding in lib/Utils/chat-utils.js: "Buffer.from(keyId, 'base64')"
- Dynamic Base64 Decoding in lib/Utils/decode-wa-message.js: "Buffer.from(secret, 'base64')"
- Dynamic Base64 Decoding in lib/Utils/validate-connection.js: "Buffer.from(advSecretKey, 'base64')"
- String Array Obfuscation in lib/Utils/message-composer.js: "[ 'import', 'export', 'from', 'default', 'as', 'const', 'let', 'var', 'function'..."
- String Array Obfuscation in lib/Utils/messages.js: "[ 'break', 'case', 'catch', 'continue', 'debugger', 'default', 'delete', 'do', '..."
- String Array Obfuscation in lib/WABinary/constants.js: "[ '1724', 'profile_picture', '1071', '1314', '1605', '407', '990', '1710', '746'..."
- Decoded Base64 Content in lib/Socket/newsletter.js (x2)
(+5 more)
ADDITIONAL FINDINGS
- Dynamic Code Execution in lib/Utils/message-composer.js: "exec(line)"
- Very New NPM Publisher Account
- Publisher Has Other Malicious Packages
- Publisher Shows Burner-Account Pattern
- Malicious Dependency Detected in package.json
PAYLOAD FILES
lib/Socket/newsletter.js (+ lib/Utils/generics.js, lib/Utils/messages-media.js)
Weaknesses (CWE)
CWE-506Embedded Malicious Code
Risk Scores
CVSS 3.1
5.4/10
Medium · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
Affected Products
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | xzvexpzcbailey | all (affected) | — |
Browse GCVE Records
264 records in the GCVE database · Updated September 20, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.