VDB

GCVE-110-OSM-2026-13466

GCVE-110-OSM-2026-13466
Advisory PublishedCVSS 9.6/10
Vulnetix · Advisory published October 8, 2026
package.json aliases the `libsignal` dependency to `npm:@bellaxchuu/libsignal-node@latest` — a non-standard publisher pinned to the mutable `latest` dist-tag with no version pin, no integrity check, and no hash. On every install, npm resolves this alias to whatever bytes `@bellaxchuu/libsignal-node` currently publishes, and the resolved module is loaded by `lib/Signal/libsignal.js` and `lib/Utils/crypto.js`, providing the Signal end-to-end cryptographic primitives (SessionCipher, SessionBuilder, ProtocolAddress, SessionRecord) with access to identity keys, prekeys, and plaintext messages. Whoever controls that upstream package name can push arbitrary code into every installer at any time, executing inside the Signal E2E encrypt/decrypt path. This is an off-registry-style trust relationship: the manifest itself constitutes the exposure, independent of what the current contents of the alias target happen to be. 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" - Startup Persistence in lib/Socket/privacy.js: ".PROFILE" - Startup Persistence in lib/WAUSync/Protocols/USyncBusinessProtocol.js: ".profile" - Startup Persistence in lib/antiban.cjs: ".profile" DESTINATION - 4 exfil (reconstructed, custom-c2, telegram-bot) - 1 fetched-payload (deobfuscated) (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')" - Data Encoding for Exfiltration in lib/Utils/use-sqlite-auth-state.js: "Buffer.from(value?.data || value).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 - IOCs Found in Deobfuscated Code in lib/Utils/curve25519-js.js - Dynamic Base64 Decoding in lib/Utils/chat-utils.js: "Buffer.from(keyId, 'base64')" - Dynamic Base64 Decoding in lib/Utils/curve25519-js.js: "Buffer.from(str, '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'..." (+5 more) ADDITIONAL FINDINGS - Dynamic Code Execution in lib/Socket/text-router.js: "exec(text)" - Suspicious URL Pattern in Template Literal in lib/antiban.cjs: "https://api.telegram.org/bot${...}/sendMessage" - Rapid Version Publishing PAYLOAD FILES lib/Utils/curve25519-js.js (+ lib/Utils/generics.js, lib/Utils/messages-media.js)

Weaknesses (CWE)

CWE-506Embedded Malicious Code

Risk Scores

CVSS 3.1
9.6/10
Critical · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Affected Products

VendorProductVersionsPlatforms
unknown@kxafunc/xbailsall (affected)—

References

advisory
vendor

Browse GCVE Records

3,090 records in the GCVE database · Updated October 12, 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 ›