JS-070 MED: untrusted regex compiled/run per-line with no ReDoS guard

views/spot/match.js's regexMatcher compiles new RegExp(jsBody) from the user URI fragment, then runs re.exec per line over every candidate file behind the regex: VIEW. The only ceiling is a whole-file 16 MiB gate — no per-line length cap and no time/step budget — so (a+)+$ against a long line hangs the single-threaded runtime. Native used a Thompson NFA (linear), so this is also a parity divergence; matchFlat (the spot backtracker) likewise has no guard. Method: Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome