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

Async 3.2.5 is vulnerable to ReDoS (Regular Expression Denial of Service) CVE-2024-39249 #1975

Closed
dvasilen opened this issue Jul 2, 2024 · 9 comments
Labels

Comments

@dvasilen
Copy link

dvasilen commented Jul 2, 2024

Please assess and address the CVE-2024-39249 in Async 3.2.5

CVE-2024-39249 - Medium Severity Vulnerability

Vulnerable Library - async-3.2.5.tgz

Library home page: https://registry.npmjs.org/async/-/async-3.2.5.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • async-3.2.5.tgz (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Async <= 2.6.4 and <= 3.2.5 are vulnerable to ReDoS (Regular Expression Denial of Service) while parsing function in autoinject function.

Publish Date: 2024-07-01

URL: CVE-2024-39249

CVSS 3 Score Details (5.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

@aearly
Copy link
Collaborator

aearly commented Jul 2, 2024

This seems incredibly unlikely to be exploitable, except in development. If a user of Async was eval()ing user input and passing functions to autoInject, they would have bigger problems.

@PPKath-1611
Copy link

Hi @aearly @caolan , are you guys soon planning to resolve this CVE by publishing a new version for this NPM package ?

@aearly
Copy link
Collaborator

aearly commented Jul 3, 2024

No, this is not exploitable except with extremely contrived examples.

@PPKath-1611
Copy link

PPKath-1611 commented Jul 4, 2024

@aearly, if you think so, can you please look & verify why Snyk is mentioning it as a medium severity vulnerability. If possible kindly provide a new patch version of it, as current version 3.2.5 is causing a Medium CVE which is leading to failure of npm vulnerability scan in our build pipeline

@PPKath-1611
Copy link

@aearly , Just for your reference, please once go through an observation explained by this author
https://github.com/zunak/CVE-2024-39249
Thanks

@AaronMoat
Copy link

AaronMoat commented Jul 7, 2024

@PPKath-1611: I agree with @aearly's comment in full. Please don't nag the the maintainers; false-positive CVEs are a nuisance for everyone.

I've raised a retraction request in the GitHub repository & am contacting NVD asking them to do the same. https://github.com/zunak/CVE-2024-39249/issues/1

If you have a problem with Snyk assessing the 'vulnerability' as medium affecting your builds, contact Snyk, not this maintainer.

@aearly
Copy link
Collaborator

aearly commented Jul 8, 2024

Yes, thanks for the backup. For reference everyone, the example code provided involved 500 spaces beween async and (args) => {...} in code a developer would write. It would be as conspicuous in code review as for(var i = 0; i < 1000000000; i++);.

@okuryu
Copy link

okuryu commented Jul 12, 2024

Snyk appears to have revoked this vulnerability.
https://security.snyk.io/vuln/SNYK-JS-ASYNC-7414156

@aearly
Copy link
Collaborator

aearly commented Jul 12, 2024

Okay, closing this issue. I'm also disappointed that Snyk cried wolf on a completely unverified CVE and created a lot of extra work for you all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants