Miggo Logo

GHSA-w62p-hx95-gf2c: DuckDB NPM packages 1.3.3 and 1.29.2 briefly compromised with malware

N/A

CVSS Score

Basic Information

CVE ID
-
EPSS Score
-
CWE
-
Published
9/9/2025
Updated
9/9/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
duckdbnpm= 1.3.31.3.4
@duckdb/node-apinpm= 1.3.31.3.4-alpha.27
@duckdb/node-bindingsnpm= 1.3.31.3.4-alpha.27
@duckdb/duckdb-wasmnpm= 1.29.21.29.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is a result of a supply chain attack where malicious code was injected into several duckdb NPM packages. The analysis of the deobfuscated malware reveals that it is designed to steal cryptocurrency by intercepting and manipulating transactions. The identified vulnerable functions are not part of the legitimate duckdb-node source code but are the core components of the malicious script. These functions would be present in the runtime environment of any application that has installed and is using the compromised versions of the packages. When a user of an affected application attempts to make a cryptocurrency transaction, these functions would be executed, appearing in a runtime profile or stack trace. The primary malicious functions monkey-patch standard web APIs like fetch and XMLHttpRequest to intercept and alter data, and they also hook into the window.ethereum object to directly manipulate wallet transactions before they are signed. The _0x20669a function is central to the malware's operation, as it contains the logic for replacing legitimate cryptocurrency addresses with attacker-controlled ones.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T** *u*k** *istri*ution *or [No**.js](*ttp://no**.js/) on [npm](*ttps://www.npmjs.*om/) w*s *ompromis** wit* m*lw*r* (*lon* wit* [s*v*r*l ot**r p**k***s](*ttps://www.*iki*o.**v/*lo*/npm-***u*-*n*-***lk-p**k***s-*ompromis**)). *n *tt**k*r pu*lis*** n*

Reasoning

T** vuln*r**ility is * r*sult o* * supply ***in *tt**k w**r* m*li*ious *o** w*s inj**t** into s*v*r*l `*u*k**` NPM p**k***s. T** *n*lysis o* t** **o**us**t** m*lw*r* r*v**ls t**t it is **si*n** to st**l *rypto*urr*n*y *y int*r**ptin* *n* m*nipul*tin*