crossmap has not been published to npm yet. Once it is, only the latest release receives fixes and there is no backport to an older version.
Use GitHub's private vulnerability reporting: open the Security tab and select "Report a vulnerability". Do not open a public issue for a suspected vulnerability.
- Untrusted crosswalks and documents. A crosswalk is data that may be authored by someone other than the caller, and
encodeanddecoderead documents the caller does not control.parseCrosswalkis the parse boundary, andvalidateCrosswalkrejects rule lists that cannot execute. Input that makes the executor write outside the output it is building, reachObject.prototype, or crash with anything other than aCrossmapErroror a Zod error from the final JSON check is a real bug to report. - No code execution from data. A crosswalk contains no code. Predicates are trilean predicate trees evaluated by an evaluator with an empty function registry, so a
callnode cannot resolve to anything. Report anything that appears to cross that boundary. - Regular expressions in
when. trilean'smatchesoperator compiles its right-hand operand as a live regular expression, with no timeout or complexity guard, and awhencan carry one. A caller who accepts crosswalks from untrusted authors and evaluates them against attacker-influenced strings has a catastrophic-backtracking denial-of-service surface. This is a known limitation inherited from trilean rather than a bug to report on its own, but questions about it are welcome. - Supply chain. Installs of this repository's own dependencies are held back by the minimum release age in
pnpm-workspace.yaml. Report anything suggesting a published artifact does not match its source once releases exist.