{"id":"ghsa-ghsa-gg6h-894w-4m9c","seq":2056941,"kind":"advisory","title":"RE2JS: Quadratic-time denial of service in re2js lookbehind matching","url":"https://github.com/advisories/GHSA-gg6h-894w-4m9c","permalink":"https://vulnpulse.app/items/ghsa-ghsa-gg6h-894w-4m9c","summary":"影響: npm:re2js >= 2.2.0, < 2.8.7 → 2.8.7\nUsing the opt-in LOOKBEHINDS flag together with any repeated-matching API (matcher().find() in a loop, matchAll(), split(), matcher().replaceAll()) causes quadratic-time (Θ(n²)) matching, contradicting the library's own \"linear time matching\" guarantee. A single call with a 16,000-character input takes 36.7–38.7 seconds of CPU. Description Root cause In build/index.cjs, Machine.match: js let currentPos = this.prog.numLb > 0 ? 0 : pos; // ~line 1907 ... if (this.ncap === 0 && this.matched) break…","severity":"high","techs":["nodejs"],"cves":["CVE-2026-116795"],"tags":["GHSA-gg6h-894w-4m9c","re2js"],"source":{"id":"ghsa","name":"GitHub Advisory Database"},"published_at":"2026-10-28T21:10:01.000Z","fetched_at":"2026-10-29T00:48:52.653Z"}