MAL-2026-12578

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/checkout-mobile-pay-widget/MAL-2026-12578.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12578
Published
2026-08-05T14:09:55Z
Modified
2026-08-05T14:35:33.168009579Z
Summary
Malicious code in checkout-mobile-pay-widget (npm)
Details

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

Source: amazon-inspector (57c8ea8352e1550f445ade3ea180ed272af5e77663f68d6d65ca9c90891d451f)

checkout-mobile-pay-widget@35.9.1 is a dropper disguised as a mobile-payment/native-bridge SDK. On require() of the package, index.js unconditionally loads adapter.js, which at module load selects a platform-specific payload, downloads it from one of four Cloudflare Workers mirrors whose hostnames are reconstructed at runtime via array-join splits (e.g. ["oob-worker.cf101-adf.worke","rs.dev"].join("")), with a DNS-TXT chunked base64 covert channel over *.dl.wel1.ru as fallback. The downloaded bytes are written to /tmp/.cache<hex> on Unix or %TEMP%\dotnetdiag<hex>.exe on Windows — cover-story names impersonating benign runtime artifacts — chmod'd 0755, and spawned detached via /bin/sh -c "<path> &" or cmd /c start /b. A stamp file /tmp/.analyticsstate gates re-execution (EXPIRESEC=22056), stderr is stubbed to no-ops, and DISABLE_TELEMETRY-style env vars are honored to appear inert in sandboxes. No hash or signature verification is performed; the fetched bytes are attacker-controlled. The package advertises a native mobile-pay bridge but ships no such functionality — the only effect of installing/requiring it is the drop-and-exec chain.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "57c8ea8352e1550f445ade3ea180ed272af5e77663f68d6d65ca9c90891d451f",
            "id": "IN-MAL-2026-015191",
            "modified_time": "2026-08-05T14:09:55Z",
            "import_time": "2026-08-05T14:20:11.424721524Z",
            "source": "amazon-inspector",
            "versions": [
                "35.9.1"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / checkout-mobile-pay-widget

Package

Name
checkout-mobile-pay-widget
View open source insights on deps.dev
Purl
pkg:npm/checkout-mobile-pay-widget

Affected ranges

Affected versions

35.*
35.9.1

Database specific

indicators
{
    "evidence_files": [
        {
            "sha256": "aff314fe4bbde3a89ac6aa65e740fc14c639e219c90bfe6f1b4921b66f0bc488",
            "path": "_adapter.js",
            "tlsh": "48b1b69616a630198bb097e4c7174416f65be2633381d288fb9c99985fb3524c3b2efc"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-/ZrePqeU7Z2bAevGiXrT8d5VES/1EWL/OwQKAf57xnsdA4B5g6wUeoavNDk60CyxX6hS4d9MXMwdKwRlC1yhjA==",
                "sha1": "1df6ec5decec1a0a7ec01cde9c2f8d96fea262f6"
            },
            "filename": "checkout-mobile-pay-widget-35.9.1.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-mobile-pay-widget/MAL-2026-12578.json"