Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReDos Vulnerability Regression Visibility Notice #797

Closed
Qix- opened this issue Nov 28, 2020 · 1 comment
Closed

ReDos Vulnerability Regression Visibility Notice #797

Qix- opened this issue Nov 28, 2020 · 1 comment
Assignees
Labels
discussion This issue is requesting comments and discussion

Comments

@Qix-
Copy link
Member

Qix- commented Nov 28, 2020

Hello. You're probably here from the deprecation notice.

tl;dr This is a low-severity regression that was fixed but later re-introduced a while back. You are only affected if you pass un-sanitized, long user input to debug(ns)(...) - specifically, by way of the %o formatter - in Node.js. All other cases are unaffected.

Affected version selector: debug@>=3.2.0 <3.2.7 || >=4 <4.3.1

If you're still pulling old versions of the package, please nuke your node_modules/npm cache. If you're still pulling old versions of the package, bring it up with npm - I've confirmed everything is released and tagged correctly.

If the latest versions have introduced a bug for you (they shouldn't), and you've confirmed you've not accidentally pulled a major version change based on your package.json version selector (e.g. don't be using debug@* as I won't support you), then please open a ticket on this repository.

Any questions or comments about the vulnerability itself can be left in this issue. Spam comments will be deleted as I expect this issue to see a lot of traffic.


Several years ago we were alerted to a ReDos vulnerable regex expression that was fixed in f53962e but was accidentally re-introduced in 7116906. The original CVE was assigned identifier CVE-2017-16137. There will not be a formal update nor will there be a second CVE identifier assigned to the regression. Maintainers of advisory databases are free to update the recommended versions to 3.2.7 or 4.3.1 and link to this issue as a regression advisory.

The regression was responsibly disclosed to me by Yaniv Nizry from the CxSCA AppSec team at Checkmarx via email. A fix was issued appx. 1 week ago and the public disclosure was set to go out no sooner than 7 days after that.

NPM has been notified but has not yet responded.

I realize this is a low-severity issue that doesn't affect many people, but given that debug has >86 million weekly downloads and used (publicly) by >9 million repositories, I wanted to treat this as equally as any other security vulnerability. Apologies if the response seems a bit overdone, but I have learned not to assume how people are using this package because people continually surprise me throughout the years.

Thank you to Yaniv, and thank you, reader, for your patience.

- Josh

@Qix-
Copy link
Member Author

Qix- commented Dec 5, 2020

Welp, that went much better than expected.

Please open a new issue for anything related to this patch. Going to close and lock now.

@Qix- Qix- closed this as completed Dec 5, 2020
@debug-js debug-js locked as resolved and limited conversation to collaborators Dec 5, 2020
@Qix- Qix- unpinned this issue Dec 5, 2020
Mohak2802 referenced this issue in Jerga99/faucet-course Feb 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
discussion This issue is requesting comments and discussion
Development

No branches or pull requests

1 participant