MAL-2026-13526
Vulnerability from ossf_malicious_packages
Published
2026-08-07 12:34
Modified
2026-08-07 12:34
Summary
Malicious code in bigops-shared-product-design (npm)
Details

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

Source: amazon-inspector (1d8f6d857df9a0aa674b5354167a3eb1c28634b9e61a9436f19a9ffcb8a8b734)

bigops-shared-product-design@35.9.3 ships adapter.js, which is unconditionally loaded via index.js on require(). On load it fetches a platform-specific native binary from hardcoded Cloudflare Workers hosts (oob-worker.cf101-a.workers.dev, cf99-9b3.workers.dev, cf100-416.workers.dev), with a DNS-TXT fallback that queries resolver domains under dl.wel1.ru (sdk./ext./pkg./net.). The fetched bytes are written to /tmp/.cache on Unix or %TEMP%/dotnet_diag_.exe on Windows, chmod'd to 0755, and spawned detached via /bin/sh -c or cmd /c start. Destinations and resolver domains are assembled at runtime by joining fragmented string literals (["oob-worker.cf101-a","df.workers.","dev"].join(""), ['sdk.dl.wel1.r','u'].join(""), require("child_"+"process")) to evade static analysis. No hash pinning, no signature check, destinations unrelated to any documented publisher. A sibling module lib/telemetry.js contains the same download-chmod-spawn pattern with base64-decoded chunks, indicating a shared dropper toolkit. Masquerade filenames (dotnet_diag,.cache_), /tmp staging, detached spawn, and DNS-TXT chunked fallback are canonical dropper tradecraft.

CWE
  • CWE-506 - The product contains code that appears to be malicious in nature.
Credits

{
  "affected": [
    {
      "database_specific": {
        "cwes": [
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          }
        ],
        "indicators": {
          "evidence_files": [
            {
              "path": "_adapter.js",
              "sha256": "9abe1d794a370734bc41f7cc4a0654f5aa71aedb992a004d526985cb6ab979b1",
              "tlsh": "4ba1875a067970198bb0dbe48717441af65be6933380c2d4fbac65945f7722483b2efc"
            },
            {
              "path": "lib/telemetry.js",
              "sha256": "1964470ba6edc84ce37e840e74670ca89a8ca035ba2ccf03cca4e19fff779dc8",
              "tlsh": "15835056566a142186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"
            }
          ],
          "package_integrity": [
            {
              "filename": "bigops-shared-product-design-35.9.3.tgz",
              "hashes": {
                "sha1": "1ee9de76a09d794caea804a9e920b5be7783e0d7",
                "sha512_sri": "sha512-ZjOit47Z4y4H9kALuHsNhARfEKpHqBz1zSxerg3cw9wqzaSKeRRpgl55fhqavId8vp7MijwMEAgW76J2RP8iTA=="
              }
            }
          ]
        }
      },
      "package": {
        "ecosystem": "npm",
        "name": "bigops-shared-product-design"
      },
      "versions": [
        "35.9.3"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "inspector-research@amazon.com"
      ],
      "name": "Amazon Inspector",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "malicious-packages-origins": [
      {
        "id": "IN-MAL-2026-017034",
        "import_time": "2026-08-07T12:51:23.015114565Z",
        "modified_time": "2026-08-07T12:34:19Z",
        "sha256": "1d8f6d857df9a0aa674b5354167a3eb1c28634b9e61a9436f19a9ffcb8a8b734",
        "source": "amazon-inspector",
        "versions": [
          "35.9.3"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (1d8f6d857df9a0aa674b5354167a3eb1c28634b9e61a9436f19a9ffcb8a8b734)\nbigops-shared-product-design@35.9.3 ships _adapter.js, which is unconditionally loaded via index.js on require(). On load it fetches a platform-specific native binary from hardcoded Cloudflare Workers hosts (oob-worker.cf101-a.workers.dev, cf99-9b3.workers.dev, cf100-416.workers.dev), with a DNS-TXT fallback that queries resolver domains under dl.wel1.ru (sdk./ext./pkg./net.). The fetched bytes are written to /tmp/.cache_\u003crand\u003e on Unix or %TEMP%/dotnet_diag_\u003crand\u003e.exe on Windows, chmod\u0027d to 0755, and spawned detached via /bin/sh -c or cmd /c start. Destinations and resolver domains are assembled at runtime by joining fragmented string literals ([\"oob-worker.cf101-a\",\"df.workers.\",\"dev\"].join(\"\"), [\u0027sdk.dl.wel1.r\u0027,\u0027u\u0027].join(\"\"), require(\"child_\"+\"process\")) to evade static analysis. No hash pinning, no signature check, destinations unrelated to any documented publisher. A sibling module lib/telemetry.js contains the same download-chmod-spawn pattern with base64-decoded chunks, indicating a shared dropper toolkit. Masquerade filenames (dotnet_diag,.cache_\u003crand\u003e), /tmp staging, detached spawn, and DNS-TXT chunked fallback are canonical dropper tradecraft.\n",
  "id": "MAL-2026-13526",
  "modified": "2026-08-07T12:34:19Z",
  "published": "2026-08-07T12:34:19Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://www.npmjs.com/package/bigops-shared-product-design/v/35.9.3"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in bigops-shared-product-design (npm)"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…