VDB

GCVE-110-OSM-2026-12379

GCVE-110-OSM-2026-12379
Advisory PublishedCVSS 5.4/10
Vulnetix · Advisory published September 18, 2026
This package is an example of the extremely popular WhatsApp follower manipulation NPM packages. These packages automatically follow one or more WhatsApp accounts or channels without explicitly telling the user. In this case, the @lekzo/baileys package follows the author of the package with the 0029Vb863rSLtOjDrDNHqq3o@newsletter automatically 3 minutes after installing the package. We are flagging this as low, but we regard this behaviour as malicious. Additionally, the package.json declares the `libsignal` dependency as `github:canove/libsignal-node` with no tag, branch, or commit SHA. On `npm install`, npm fetches whatever the default branch HEAD of that repository currently points to and runs any lifecycle scripts inside the fetched tree, with no version resolution against the npm registry and no integrity check. The bytes that execute on the installer's machine are entirely controlled by whoever holds write access to that GitHub repo at install time and can change silently between installs. 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" 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/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/Signal/Group/Protocols.js - Decoded Base64 Content in lib/Socket/newsletter.js (+3 more) ADDITIONAL FINDINGS - Dynamic Code Execution in lib/Utils/message-composer.js: "exec(line)" - Very New NPM Publisher Account PAYLOAD FILES lib/Utils/generics.js (+ lib/Utils/messages-media.js, lib/Utils/chat-utils.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

VendorProductVersionsPlatforms
unknown@lekzo/baileysall (affected)

References

advisory
vendor

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.

$ Console Community · 100/wk Open console ›