Skip to content
Heist/ feed
Unrated

Malicious code in img-to-native (npm)

Type: advisorySource: OSV1 source record

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (7676788d88c2194b8d5c048decfbe06550798ce342af54f8975bc26422d10c53) On require() of img-to-native, index.js reads banner.jpg from the.cache directory of its sole dependency cdn-img-fetch, locates a payload appended after the PNG IEND marker, base64-decodes it, and AES-256-CBC decrypts it using a key derived from sha256('nif-runtime-2027'). The decrypted bytes are written to %LOCALAPPDATA%\Programs\NodeRuntime\node_runtime_helper.exe with mode 0o755, and the source image is then unlinked. An fs.watch fallback waits for the image to appear if it is not yet staged. The payload is obfuscated (hidden after a PNG end-of-image marker, base64-encoded, AES-encrypted), unverified (no hash or signature check), and dropped to a persistence-adjacent path with executable bits set. The advertised purpose ("convert image files to native binary representation") does not require decrypting content appended after a PNG IEND chunk to materialize a Windows executable. The companion package cdn-img-fetch is pinned as a caret range (^1.0.0), so future 1.x releases can silently change the delivered payload bytes. Installing or loading this package results in attacker-controlled code being written to the installer's filesystem with execute permission. ## Source: ghsa-malware (7131e9cb1bdeb272ae7e26f2877087fd5da8716ef7c08e0fc0bf1359e278df8e) Any computer that has this package installed or running should be considere

Announced Source revision 1
Original source ↗

MAL-2026-17216

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:MAL-2026-17216

img-to-native

Source reference: /affected/0/package/name

Affected versions
1.0.0

Source reference: /affected/0/versions

1.0.1

Source reference: /affected/0/versions

1.0.3

Source reference: /affected/0/versions

1.0.2

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "img-to-native",
      "purl": "pkg:npm/img-to-native",
      "ecosystem": "npm"
    },
    "versions": [
      "1.0.0",
      "1.0.1",
      "1.0.3",
      "1.0.2"
    ],
    "database_specific": {
      "cwes": [
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        },
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        },
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        },
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        },
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        }
      ],
      "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/img-to-native/MAL-2026-17216.json",
      "indicators": {
        "evidence_files": [
          {
            "path": "index.js",
            "tlsh": "4331e2c11af26570416371d8d7bb450fa31fa6933186d5d4f58c87d95fc341082a2ddd",
            "sha256": "15f332a308dfb89eef2a220b5d0cdd9fc962ec5eef5d685b2345957563c10e6e"
          },
          {
            "path": "package.json",
            "tlsh": "5fe02224cd106c2342e602902aa72d8b32a10e4b4609bb1c77d6000c8baeab786fd32d",
            "sha256": "69d30eb00b923ea9ccaa3db3c901fd477925338352988f312453da51fef2db09"
          }
        ]
      }
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#23698 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement