VDB
GCVE-110-OSM-2026-9590
GCVE-110-OSM-2026-9590
Advisory PublishedCVSS 8.8/10
This package is a trojanized WhatsApp API library published by a confirmed malicious actor (publisherMaliciousRatio 0.5, with @alannxd/baileys already flagged as high-severity malicious). The critical finding is that deobfuscation of lib/Utils/generics.js recovered hidden IOCs, not legitimate WhatsApp infrastructure. The preinstall hook runs engine-requirements.js (benign on its surface as a Node.js version check) suggesting supply-chain poisoning at the dependency layer. The attacker model is credential/session theft from WhatsApp users: the library intercepts creds (noiseKey, signedIdentityKey), encodes them to base64, and exfiltrates them to attacker-controlled domains. The combination of obfuscated IOC recovery, malicious publisher history, malicious dependencies, and exfil-classified domains constitutes a clear malicious verdict.
ENTRY
engine-requirements.js (install-hook: node ./engine-requirements.js)
- Install Hook Executes Local JS File in package.json
PERSISTENCE
- Startup Persistence in lib/Store/make-in-memory-store.js: ".profile"
DESTINATION
- 2 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/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/messages-media.js: "axios.get("
OBFUSCATION
- IOCs Found in Deobfuscated Code in lib/Utils/generics.js
- Dynamic Base64 Decoding in lib/Signal/Group/group_cipher.js: "Buffer.from(iv, 'base64')"
- Dynamic Base64 Decoding in lib/Signal/Group/sender-key-state.js: "Buffer.from(chainKey, 'base64')"
- Dynamic Base64 Decoding in lib/Utils/chat-utils.js: "Buffer.from(keyId, 'base64')"
- Dynamic Base64 Decoding in lib/Utils/generics.js: "Buffer.from(val, 'base64')"
- Dynamic Base64 Decoding in lib/Utils/validate-connection.js: "Buffer.from(advSecretKey, 'base64')"
- Strings Extracted from Deobfuscated Code in lib/Signal/Group/sender-key-state.js
- Strings Extracted from Deobfuscated Code in lib/Utils/chat-utils.js
(+3 more)
ADDITIONAL FINDINGS
- Platform Detection with Data Collection in lib/Socket/messages-recv.js: "JSON.stringify({ ...child, content: Buffer.isBuffer(child.content) ? child.conte..."
- Shell Command Execution in lib/Utils/messages-media.js: "require("child_process")"
- Publisher Has Other Malicious Packages
- Malicious Dependency Detected in package.json
PAYLOAD FILES
lib/Utils/messages-media.js (+ lib/Utils/generics.js, lib/Utils/chat-utils.js)
Weaknesses (CWE)
CWE-506Embedded Malicious Code
Risk Scores
CVSS 3.1
8.8/10
High · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected Products
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | alannxd | all (affected) | — |
Browse GCVE Records
67,407 records in the GCVE database · Updated August 11, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.