VDB
GCVE-110-OSM-2026-13466
GCVE-110-OSM-2026-13466
Advisory PublishedCVSS 9.6/10
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
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | @kxafunc/xbails | all (affected) | — |
Aliases
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.