{"id":"GHSA-v2p6-4mp7-3r9v","aliases":["CLSA-2026-1775003174","CLSA-2026-1775003175"],"status":"published","title":"Regular Expression Denial of Service in underscore.string","description":"Versions of `underscore.string` prior to *3.3.5* are vulnerable to Regular Expression Denial of Service (ReDoS).\n\nThe function `unescapeHTML` is vulnerable to ReDoS due to an overly-broad regex. The slowdown is approximately 2s for 50,000 characters but grows exponentially with larger inputs.\n\n\n## Recommendation\n\nUpgrade to version 3.3.5 or higher.","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-400"],"published":"2019-06-14T16:26:22Z","modified":"2026-10-15T09:47:49Z","fixes":[{"ecosystem":"npm","package":"underscore.string","fixed_in":["3.3.5"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"underscore.string","fixed_in":["2.3.3-tuxcare.1","2.2.1-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"underscore.string","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.3.5"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"underscore.string","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.3-tuxcare.0"},{"fixed":"2.3.3-tuxcare.1"}]}],"versions":["2.3.3"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"underscore.string","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.1-tuxcare.0"},{"fixed":"2.2.1-tuxcare.1"}]}],"versions":["2.2.1"]},{"source":"osv","ecosystem":"npm","package":"underscore.string","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.3.5"}]}]}],"references":[{"url":"https://github.com/epeli/underscore.string/issues/510","tags":["web"]},{"url":"https://github.com/epeli/underscore.string/pull/517","tags":["web"]},{"url":"https://github.com/epeli/underscore.string/commit/f486cd684c94c12db48b45d52b1472a1b9661029","tags":["web"]},{"url":"https://www.npmjs.com/advisories/745","tags":["web"]},{"url":"https://github.com/advisories/GHSA-v2p6-4mp7-3r9v"}],"sources":{"ghsa":[{"id":"GHSA-v2p6-4mp7-3r9v","title":"Regular Expression Denial of Service in underscore.string","description":"Versions of `underscore.string` prior to *3.3.5* are vulnerable to Regular Expression Denial of Service (ReDoS).\n\nThe function `unescapeHTML` is vulnerable to ReDoS due to an overly-broad regex. The slowdown is approximately 2s for 50,000 characters but grows exponentially with larger inputs.\n\n\n## Recommendation\n\nUpgrade to version 3.3.5 or higher.","status":"published","published":"2019-06-14T16:26:22Z","modified":"2023-01-09T05:01:40Z","cwes":["CWE-400"],"updated_at":"2026-11-02T14:36:02.073372Z"}],"osv":[{"id":"CLSA-2026-1775003174","title":"TuxCare security update for underscore.string (1 CVE)","description":"TuxCare rebuilt underscore.string to address 1 CVE. Fixed in 2.3.3-tuxcare.1.","status":"published","published":"2026-08-04T14:52:18Z","modified":"2026-10-15T09:47:49.019431148Z","updated_at":"2026-11-02T15:43:44.009773Z"},{"id":"CLSA-2026-1775003175","title":"TuxCare security update for underscore.string (1 CVE)","description":"TuxCare rebuilt underscore.string to address 1 CVE. Fixed in 2.2.1-tuxcare.1.","status":"published","published":"2026-08-04T14:52:18Z","modified":"2026-10-15T09:47:49.003654122Z","updated_at":"2026-11-02T15:43:44.009773Z"},{"id":"GHSA-v2p6-4mp7-3r9v","title":"Regular Expression Denial of Service in underscore.string","description":"Versions of `underscore.string` prior to *3.3.5* are vulnerable to Regular Expression Denial of Service (ReDoS).\n\nThe function `unescapeHTML` is vulnerable to ReDoS due to an overly-broad regex. The slowdown is approximately 2s for 50,000 characters but grows exponentially with larger inputs.\n\n\n## Recommendation\n\nUpgrade to version 3.3.5 or higher.","status":"published","published":"2019-06-14T16:26:22Z","modified":"2020-08-31T18:34:16Z","cwes":["CWE-400"],"updated_at":"2026-11-02T15:46:56.639206Z"}]}}
