MAL-2026-12848

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bigops-tslint/MAL-2026-12848.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12848
Aliases
  • GHSA-8639-8v7f-vpvr
Published
2026-08-05T15:00:57Z
Modified
2026-08-06T01:20:01.219308984Z
Summary
Malicious code in bigops-tslint (npm)
Details

-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (e6335298379affbc02ca5288e29777324f4d13ddec51b21ce999bb6eeda3996f)

The package advertises itself as a lint tool but its index.js unconditionally require()s./ext, which on load selects a platform-specific payload path, downloads an opaque binary from one of several string-split-obfuscated Cloudflare Workers hosts (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev) with a DNS TXT discovery fallback via *.dl.wel1.ru, writes it to /var/tmp or the Windows TEMP directory under a disguised filename, chmods it 0755, and spawns it detached through /bin/sh -c or cmd.exe. Host names and discovery domains are reconstructed at runtime from split string fragments (e.g. ["oob-w","ork","er.cf102-baf.work","ers.dev"].join("")) to defeat static analysis, and the module uses an environment-variable opt-out and a stamp-file TTL to reduce detection. A second dropper implementation with equivalent download+chmod+spawn logic is bundled as lib/telemetry.js (uses require("child"+"process"), fs["chmod"+"Sync"], and base64-reassembled bytes) and packaged alongside the live code path. The package purpose (a TypeScript lint tool) has no relationship to fetching and executing a native binary from anonymous Workers hosts. Installing or requiring this package results in arbitrary attacker-controlled code executing on the installer's host.

Source: ghsa-malware (5216e0336083f6fea53a389b7a5f3a81063e39a72acd0f37d17cb875bd307fe7)

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Database specific
{
    "malicious-packages-origins": [
        {
            "import_time": "2026-08-05T15:19:56.566325519Z",
            "sha256": "e6335298379affbc02ca5288e29777324f4d13ddec51b21ce999bb6eeda3996f",
            "modified_time": "2026-08-05T15:00:57Z",
            "id": "IN-MAL-2026-015534",
            "versions": [
                "35.9.4"
            ],
            "source": "amazon-inspector"
        },
        {
            "source": "ghsa-malware",
            "modified_time": "2026-08-05T18:05:31Z",
            "ranges": [
                {
                    "type": "SEMVER",
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ]
                }
            ],
            "id": "GHSA-8639-8v7f-vpvr",
            "sha256": "5216e0336083f6fea53a389b7a5f3a81063e39a72acd0f37d17cb875bd307fe7",
            "import_time": "2026-08-06T00:58:53.322190742Z"
        }
    ]
}
References
Credits

Affected packages

npm / bigops-tslint

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

35.*
35.9.4

Database specific

cwes
[
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    },
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    }
]
indicators
{
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-lnxqzh8k0gSTb1G1CFBEkFRkbMjyXZdv7Qd2sxjzg3bEYPehbdfnNN8u1iddHpnT7TAIDKQPjJsAyFpqqpcxZA==",
                "sha1": "c06559f3447e3f21163308e9ca58c49a869bcd29"
            },
            "filename": "bigops-tslint-35.9.4.tgz"
        }
    ],
    "evidence_files": [
        {
            "path": "_ext.js",
            "sha256": "eaf56c11ef98a7c6d7614ee59b33889fcfdd425f484389a92508b0b14a47c5c5",
            "tlsh": "88b1885616a570184b70ebe0cb1b5825f65afa633780c294fb5c69985fb312483b2efc"
        },
        {
            "path": "lib/telemetry.js",
            "sha256": "8bc0619811c13747e83b31f108fe83806b0dfa2102cc7e2117ad2ba3d44d1d29",
            "tlsh": "66835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bigops-tslint/MAL-2026-12848.json"