MAL-2026-12227

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tinkoff-boxy-atom-text-link/MAL-2026-12227.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12227
Published
2026-08-05T08:57:19Z
Modified
2026-08-05T10:06:33.800383503Z
Summary
Malicious code in tinkoff-boxy-atom-text-link (npm)
Details

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

Source: amazon-inspector (3606d69d2c4891a247201742fcab0e3069060e9d669e537de5758c5a03279521)

The package's index.js unconditionally requires./loader on module load. loader.js selects a platform-specific payload path and fetches bytes from one of three hardcoded Cloudflare Workers hosts whose names are assembled from split string fragments (oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev), with a DNS-TXT covert-channel fallback across tin.dl.well1.site, tina.dl.well1.site, ldr.dl.well1.site, and win.dl.well1.site that reads a chunk count from c.<domain> and reassembles base64-encoded payload bytes from N.<domain> TXT records. The fetched bytes are written to a temp file with a decoy name (dotnetdiag*.exe /.cache_*), chmod 0755 on POSIX, and spawned detached via /bin/sh -c "<file> &" or cmd.exe /c start. A /tmp/.analyticsstate marker rate-limits re-execution. A secondary module lib/telemetry.js bundled in the tarball replicates the same drop-and-exec primitives (string-split require of childprocess, bracket-property chmodSync, base64 buffer decode, cp.spawn("/bin/sh", ["-c", filePath + " &"])). The package is advertised as a text-link provider; the shipped code has no relation to that purpose.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "3606d69d2c4891a247201742fcab0e3069060e9d669e537de5758c5a03279521",
            "source": "amazon-inspector",
            "versions": [
                "20.5.9"
            ],
            "import_time": "2026-08-05T09:28:17.489397654Z",
            "modified_time": "2026-08-05T08:57:19Z",
            "id": "IN-MAL-2026-014485"
        }
    ]
}
References
Credits

Affected packages

npm / tinkoff-boxy-atom-text-link

Package

Name
tinkoff-boxy-atom-text-link
View open source insights on deps.dev
Purl
pkg:npm/tinkoff-boxy-atom-text-link

Affected ranges

Affected versions

20.*
20.5.9

Database specific

indicators
{
    "package_integrity": [
        {
            "hashes": {
                "sha1": "e21add2fd965710b1e5d403902ed8c22be5eb948",
                "sha512_sri": "sha512-+DvFErZKbRR3yCa4K5ccB2BPmaK/opyXo6QrNmeTPpUFGmbP/tC/ycRo/jHG7AJW9QNU0U/bJquRZ+7Aaq3kRg=="
            },
            "filename": "tinkoff-boxy-atom-text-link-20.5.9.tgz"
        }
    ],
    "evidence_files": [
        {
            "path": "_loader.js",
            "sha256": "3b0e0a33cf6c5f4e46de682539cd06d26f91a1f8acf95f2016d9ae54818d6851",
            "tlsh": "97a1979a166a701a8bb09be486174416fa5be6537280c2d0f75ca9845f72134c3b2efc"
        },
        {
            "path": "lib/telemetry.js",
            "sha256": "2b5ac39bccb11cd21dae0b2de9fabd7e95071f3241c0e46e2f7376473e227ff1",
            "tlsh": "3a835056566a142186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"
        }
    ]
}
cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506",
        "name": "Embedded Malicious Code"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tinkoff-boxy-atom-text-link/MAL-2026-12227.json"