balderdashy / sails

Realtime MVC Framework for Node.js
https://sailsjs.com
MIT License
22.81k stars 1.95k forks source link

sails@1.5.8 captains-log dependency introduces ReDoS Vulnerability #7315

Open kconut opened 7 months ago

kconut commented 7 months ago

Node version: 16 Sails version (sails): 1.5.8


We're encountering the following security finding for our sails application:

Issues with no direct upgrade or patch:
  ✗ Regular Expression Denial of Service (ReDoS) [High Severity][https://security.snyk.io/vuln/SNYK-JS-ANSIREGEX-1583908] in ansi-regex@2.1.1
    introduced by sails@1.5.8 > captains-log@2.0.4 > chalk@1.1.3 > has-ansi@2.0.0 > ansi-regex@2.1.1 and 3 other path(s)
  This issue was fixed in versions: 3.0.1, 4.1.1, 5.0.1, 6.0.1

Is there any plan to update the chalk version for captains-log?

sailsbot commented 7 months ago

@kconut Thanks for posting! We'll take a look as soon as possible.

In the mean time, there are a few ways you can help speed things along:

Please remember: never post in a public forum if you believe you've found a genuine security vulnerability. Instead, disclose it responsibly.

For help with questions about Sails, click here.

DominusKelvin commented 7 months ago

Hey @kconut thanks for reporting, we will have a look into resolving this. :)

eashaw commented 7 months ago

Hi @kconut, for some reason, this vulnerability is not showing up in npm audit reports. Would you happen to have any idea why that is? Where did your security finding come from?

kconut commented 7 months ago

Hi @kconut, for some reason, this vulnerability is not showing up in npm audit reports. Would you happen to have any idea why that is? Where did your security finding come from?

Hi @eashaw, thank you for looking into this!

We have Snyk integrated into our pipeline for static code analysis and dependency scanning, and the vulnerability on ansi-regex only started showing up in our scans roughly 3 weeks ago.

Additional information from the generated report file:

Regular Expression Denial of Service (ReDoS)
Package Manager: npm
Vulnerable module: ansi-regex
Introduced through: sails@1.5.8 and others

Detailed paths
Introduced through: sails@1.5.8 › captains-log@2.0.4 › chalk@1.1.3 › has-ansi@2.0.0 › ansi-regex@2.1.1
Introduced through: sails@1.5.8 › sails-generate@2.0.8 › chalk@1.1.3 › has-ansi@2.0.0 › ansi-regex@2.1.1
Introduced through: sails@1.5.8 › whelk@6.0.1 › chalk@1.1.3 › has-ansi@2.0.0 › ansi-regex@2.1.1
Introduced through: sails@1.5.8 › sails-generate@2.0.8 › reportback@2.0.2 › captains-log@2.0.4 › chalk@1.1.3 › has-ansi@2.0.0 › ansi-regex@2.1.1

Remediation
Upgrade ansi-regex to version 3.0.1, 4.1.1, 5.0.1, 6.0.1 or higher.

Also providing here the attached references regarding the finding: GitHub Commit GitHub Commit GitHub Commit GitHub PR

mikermcneil commented 4 months ago

@kconut Publishing patches now!