rgcl / webpay-nodejs

[Spanish/Chile] Módulo no oficial para integrar WebPay Plus en Node.js, con soporte para promesas.
GNU Lesser General Public License v3.0
93 stars 32 forks source link

Seguridad en las versiones de las dependencias. #4

Closed chumager closed 4 years ago

chumager commented 6 years ago

Hola qué tal?

Estaba inspeccionando problemas de seguridad de mi desarrollo con nsp y detectó los siguientes problemas de seguridad:

± |master U:1 ✗| → nsp check (+) 4 vulnerabilities found ┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Regular Expression Denial of Service │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ debug │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 3.7 (Low) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 0.7.4 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <= 2.6.8 || >= 3.0.0 <= 3.0.1 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ itdfw@2.0.2 > webpay-nodejs@1.2.0 > soap@0.18.0 > debug@0.7.4 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/534 │ └────────────┴────────────────────────────────────────────────────────────────────┘

┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Regular Expression Denial of Service │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ debug │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 3.7 (Low) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 2.2.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <= 2.6.8 || >= 3.0.0 <= 3.0.1 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ itdfw@2.0.2 > webpay-nodejs@1.2.0 > soap@0.18.0 > │ │ │ finalhandler@0.5.1 > debug@2.2.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/534 │ └────────────┴────────────────────────────────────────────────────────────────────┘

┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Prototype Pollution │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ lodash │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 2 (Low) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 3.10.1 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <4.17.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >=4.17.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ itdfw@2.0.2 > webpay-nodejs@1.2.0 > soap@0.18.0 > lodash@3.10.1 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/577 │ └────────────┴────────────────────────────────────────────────────────────────────┘

┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Prototype Pollution │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ lodash │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 2 (Low) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 3.3.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <4.17.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >=4.17.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ itdfw@2.0.2 > webpay-nodejs@1.2.0 > ursa-purejs@0.0.3 > │ │ │ node-rsa@0.2.30 > lodash@3.3.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/577 │ └────────────┴────────────────────────────────────────────────────────────────────┘

Como verás todos son relativos a su módulo, para que lo tengan en cuenta y puedan actualizar a algo más reciente.

Saludos.

rgcl commented 6 years ago

Hola, muchas gracias por reportarlo. Será revisado para la próxima publicación en npm.

Como comentario adicional, no es en sí un problema de seguridad (puesto que el problema descrito, implica el parseo por RegEx y en este caso el input viene ya "validadamente" bajo el protocolo SOAP), sin embargo concuerdo en que se ve feo.

rgcl commented 6 years ago

Tengo la solución para node-soap, pero ursa-purejs no ha sacado una nueva versión. Les dejé un issue, si no lo resuelven para la otra semana veré otra alternativa. Saludos

rgcl commented 4 years ago

Solucionado con la versión 1.4.0. Muchas gracias por reportar. Saludos.