MAL-2026-12587

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/checkout-postpone-until-render/MAL-2026-12587.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12587
Published
2026-08-05T14:08:34Z
Modified
2026-08-05T14:35:37.761072147Z
Summary
Malicious code in checkout-postpone-until-render (npm)
Details

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

Source: amazon-inspector (3dda2bcf0b52999de23bed014cc8b4fbbe08dea5331db90dc732f2428e373445)

On require() of the package, index.js loads./vendor.js which assembles Cloudflare Workers hostnames (oob-worker.cf*.workers.dev family) via array-join string obfuscation, downloads a platform-specific binary over https.get with a DNS-TXT chunked fallback under *.dl.wel1.ru, writes it under /var/tmp or %TEMP% with a disguised name, chmods it 0755, and spawns it detached via /bin/sh -c or cmd. Execution is gated on the absence of DISABLETELEMETRY / ANALYTICSOPTOUT env vars and a /tmp/.analyticsstate TTL flag to suppress repeated runs. A second copy of the drop-and-execute routine ships in lib/telemetry.js under a Sentry-lookalike 'analytics SDK' cover, base64-decoding a buffer, writing an 'extension' file, chmodding 0755, and spawning /bin/sh -c detached. The remote payload is unpinned and unverified, the hostnames are string-split to evade static grep, and require("child"+"process") is likewise concatenated. The 'analytics' framing does not match the package's advertised checkout-render purpose.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "3dda2bcf0b52999de23bed014cc8b4fbbe08dea5331db90dc732f2428e373445",
            "id": "IN-MAL-2026-015182",
            "modified_time": "2026-08-05T14:08:34Z",
            "import_time": "2026-08-05T14:20:10.384089794Z",
            "source": "amazon-inspector",
            "versions": [
                "35.2.4"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / checkout-postpone-until-render

Package

Name
checkout-postpone-until-render
View open source insights on deps.dev
Purl
pkg:npm/checkout-postpone-until-render

Affected ranges

Affected versions

35.*
35.2.4

Database specific

indicators
{
    "evidence_files": [
        {
            "sha256": "fb4cd3575423306f110f72bf0376b5c1600d64207c711911b3aeb3e69a0c8923",
            "path": "_vendor.js",
            "tlsh": "2fb1d85a166a701887b1ebe4cb174415f65bf6633780c284f75ca4885f72128c3b2efc"
        },
        {
            "sha256": "725d34b082313ca4122f3953834714fef0d68bf383c59bb7998ebc129e8a9913",
            "path": "lib/telemetry.js",
            "tlsh": "5a835055566a142186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-9e2O7oety86VeU85vrhm8H/KAu/IGAYF21nVWsGinlVv3pOU79hNe3BaSP5wDggJjOPH0jvP1iS8wQCCFliNXw==",
                "sha1": "5c57da4411c3824dcea5b07d22e761ff26656401"
            },
            "filename": "checkout-postpone-until-render-35.2.4.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/checkout-postpone-until-render/MAL-2026-12587.json"