Dataflow Visualizer doesn't escape properly, allowing XSS
In `console/src/platform/clusters/DataflowVisualizer.tsx`: `scopeToGv` concatenates server/catalog strings directly into a DOT program and only escapes double quotes. The affected fields include `op.name` in the node label, `ch.channelType` in an edge tooltip, and `lir_operator.operator` in a subgraph label. `DotViz` then passes the DOT string to `d3-graphviz.renderDot`, which renders SVG into the page. Escaping only `"` is not sufficient for DOT quoted strings because an attacker-controlled backslash before a quote changes how Graphviz parses the escaped value. For example, a catalog string shaped like: ```text foo\", href=<javascript:alert(1)>, label=<click>];}// ``` is transformed by the current replacement into DOT that Graphviz accepts as a node with `xlink:href="javascript:alert(1)"`. The resulting SVG contains an anchor around the node, so a victim who opens the visualizer and clicks the injected node can run script in the Console origin. Not sure whether to assign @moritz (back on Monday) or @qindeel.ishtiaq Security related CC @jason.hernandez
No prototypes yet. Click "Generate Fix" to create one.