eazy-logger prototype pollution
Platform
nodejs
Component
eazy-logger
Fixed in
4.1.0
A prototype pollution in the lib.Logger function of eazy-logger v4.0.1 allows attackers to cause a Denial of Service (DoS) via supplying a crafted payload. An attacker can supply a payload with `Object.prototype` setter to introduce or modify properties within the global prototype chain, causing denial of service (DoS) a the minimum consequence. Moreover, the consequences of this vulnerability can escalate to other injection-based attacks, depending on how the library integrates within the application. For instance, if the polluted property propagates to sensitive Node.js APIs (e.g., `child_process.exec`, `eval`), it could enable an attacker to execute arbitrary commands within the application's context. ## Proof of Concept ```js (async () => { const lib = await import('eazy-logger'); var someObj = {} console.log("Before Attack: ", JSON.stringify({}.__proto__)); try { // for multiple functions, uncomment only one for each execution. lib.Logger (JSON.parse('{"__proto__":{"pollutedKey":123}}')) } catch (e) { } console.log("After Attack: ", JSON.stringify({}.__proto__)); delete Object.prototype.pollutedKey; })(); ```
How to fix
Actualice la biblioteca eazy-logger a una versión posterior a la 4.0.1 que corrija la vulnerabilidad de prototype pollution. Si no hay una versión disponible, considere descontinuar el uso de la biblioteca o aplicar un parche manualmente si es posible. Esté atento a las actualizaciones de seguridad del mantenedor del paquete.
Monitor your dependencies automatically
Get notified when new vulnerabilities affect your projects. Free forever.
Start free