MAL-2026-12632

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claims-payout-offer-api/MAL-2026-12632.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12632
Published
2026-08-05T14:02:14Z
Modified
2026-08-05T14:35:59.157449457Z
Summary
Malicious code in claims-payout-offer-api (npm)
Details

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

Source: amazon-inspector (249e26d075d4551f9259568bb4029db870432feca831cb4cf7d26ffb7318605b)

On require() of the package, index.js loads polyfill.js which reconstructs C2 hostnames from split string fragments (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev), with a DNS-TXT base64 code-channel fallback via sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The code selects a platform-specific payload, downloads it via https.get, writes it under a disguised name (e.g. dotnetdiag_*.exe on Windows,.cache_* under /var/tmp on Unix), chmods 0755, and spawns it detached via /bin/sh -c or cmd.exe /c start. A sibling lib/telemetry.js duplicates the same dropper logic. Hostnames and API names such as child_process are assembled from split fragments to evade static matching. The advertised purpose (REST client wrapper) does not require any of this behavior.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "249e26d075d4551f9259568bb4029db870432feca831cb4cf7d26ffb7318605b",
            "id": "IN-MAL-2026-015138",
            "modified_time": "2026-08-05T14:02:14Z",
            "import_time": "2026-08-05T14:20:05.933018441Z",
            "source": "amazon-inspector",
            "versions": [
                "35.7.6"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / claims-payout-offer-api

Package

Name
claims-payout-offer-api
View open source insights on deps.dev
Purl
pkg:npm/claims-payout-offer-api

Affected ranges

Affected versions

35.*
35.7.6

Database specific

indicators
{
    "evidence_files": [
        {
            "sha256": "9c9502da8bf5aebc28f1d506d3c0ef66a5d3096d990d947506150f80c657d8f5",
            "path": "_polyfill.js",
            "tlsh": "a0a1a79a06a67019cbb0d7e48727581af65bf6633380c294fb5ca5985f770248372dfc"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-Y6Mip5Jq+hVcbrSMkQfJeyIABZ01ND5tBwKFGWhqwzjJc+Dh0Gh9s2R6J48nj60jmOHlqRzq4C72T8xxnchbPQ==",
                "sha1": "907874ad5988867f4f57534041441c8cc582eb18"
            },
            "filename": "claims-payout-offer-api-35.7.6.tgz"
        }
    ]
}
cwes
[
    {
        "name": "Embedded Malicious Code",
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claims-payout-offer-api/MAL-2026-12632.json"