MAL-2026-12521

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/candy-candy-core/MAL-2026-12521.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12521
Published
2026-08-05T14:18:27Z
Modified
2026-08-05T14:35:17.769191447Z
Summary
Malicious code in candy-candy-core (npm)
Details

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

Source: amazon-inspector (f6eb2dd43ce21b00ec40ac6df2c7eee73a20e090d923e5d08c2fd48c01b82eb5)

Requiring candy-candy-core loads index.js which unconditionally requires./polyfill.js. polyfill.js constructs attacker-controlled hostnames by joining string fragments (yielding oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, with DNS-TXT fallback to sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru), downloads a platform-specific binary via https.get, writes it to /tmp or %TEMP% under decoy filenames (dotnetdiag<hex>.exe on Windows,.cache<hex> on Unix), chmods it 0755, and spawns it detached via spawn("/bin/sh",...) or spawn("cmd",...). A lockfile named analyticsstate /.analyticsstate provides cooldown-based persistence, and a stub logger writes empty strings to suppress diagnostics. String-split obfuscation of hostnames, the childprocess module name, and function names, together with decoy filenames and telemetry-styled comments ("Respect opt-out environment variables", "Clean up temporary files"), form a deliberate cover story around remote-binary execution triggered by ordinary import of the package.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "f6eb2dd43ce21b00ec40ac6df2c7eee73a20e090d923e5d08c2fd48c01b82eb5",
            "id": "IN-MAL-2026-015248",
            "modified_time": "2026-08-05T14:18:27Z",
            "source": "amazon-inspector",
            "import_time": "2026-08-05T14:20:16.491699424Z",
            "versions": [
                "35.2.7"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / candy-candy-core

Package

Affected ranges

Affected versions

35.*
35.2.7

Database specific

indicators
{
    "evidence_files": [
        {
            "sha256": "03e20808904475afdc5ecfb1d1f8fd09c8066a66ea7165a548641194b1104a60",
            "path": "_polyfill.js",
            "tlsh": "0db1a85a05b670194bb09be487075416f65be6633680c2d4f75c69845f77124c3b2efc"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-4tOBA2utzmW2ObImeKa77armZWdwI3jsPmUgZk/CCN2TVp1wdh3Vonjahdh6AbrGlofbieaaQAxavqRh1hOWRw==",
                "sha1": "2b44d807ad12b9dfb1f2ac057d0fb158b2b23bed"
            },
            "filename": "candy-candy-core-35.2.7.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/candy-candy-core/MAL-2026-12521.json"