VDB

GCVE-110-OSM-2026-10760

GCVE-110-OSM-2026-10760
Advisory PublishedCVSS 9.6/10
Vulnetix · Advisory published August 19, 2026
The package advertises itself as a random-transaction generator but its exported getTransactions API triggers execution of a hidden code payload. load_transaction_data reads per-record 'mark' strings from database.js, applies a shift-cipher keyed by the caller-supplied count argument, base64-decodes the concatenated result, and passes the resulting bytes to the Function constructor invoked with Buffer, require, and process — granting the decoded code full Node.js privileges (filesystem, network, child process). The identifiers Function, require, process, Buffer, setTimeout, and clearTimeout are not present as plain strings; they are reconstructed at runtime by index-selecting fragments from a hidden character array and joined, and the Function constructor is retrieved indirectly through constructor.constructor on a global object. This string-splicing pattern is used specifically to hide the dynamic-execution sink from static analysis, and the combination of obfuscated global reconstruction plus execution of decoded data from a bundled data file is a loader-in-benign-wrapper attack shape rather than any behavior consistent with the stated purpose. Judge assessment: This package is a loader hidden inside a benign-looking random transaction generator, consistent with an attacker model of a trojanized npm package that executes arbitrary Node.js payloads on import/use. In `index.js`, `load_transaction_data()` reads `database.js`, decrypts base64 data with a count-keyed shift cipher, then passes the result into `Function` via `constructor.constructor`, with `Buffer`, `require`, and `process` supplied as arguments for full runtime privileges. The obfuscated reconstruction of `setTimeout`, `Function`, `Buffer`, `require`, and `process` via `_0x1a2b` is deliberate concealment, and the OSV advisory `MAL-2026-14273` matches the actual code path rather than a false positive. There is no legitimate transaction-generation need for dynamic code execution from a bundled data file, so this should be treated as malicious and submitted. ENTRY index.js (main: index.js) OBFUSCATION - Obfuscation: function to array replacements in index.js - Obfuscation (osm-deobfuscator): unknown in index.js - Strings Extracted from Deobfuscated Code in index.js PAYLOAD FILES index.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
unknownrand-txs-sdkall (affected)

References

advisory
vendor

Browse GCVE Records

417 records in the GCVE database · Updated August 26, 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 ›