Browse Source

Sanitize unknown node types on load to prevent XSS.

pull/1909/head
comfyanonymous 1 year ago
parent
commit
02f062b5b7
  1. 17
      web/scripts/app.js

17
web/scripts/app.js

@ -5,6 +5,22 @@ import { api } from "./api.js";
import { defaultGraph } from "./defaultGraph.js";
import { getPngMetadata, getWebpMetadata, importA1111, getLatentMetadata } from "./pnginfo.js";
function sanitizeNodeName(string) {
let entityMap = {
'&': '',
'<': '',
'>': '',
'"': '',
"'": '',
'`': '',
'=': ''
};
return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap (s) {
return entityMap[s];
});
}
/**
* @typedef {import("types/comfy").ComfyExtension} ComfyExtension
*/
@ -1480,6 +1496,7 @@ export class ComfyApp {
// Find missing node types
if (!(n.type in LiteGraph.registered_node_types)) {
n.type = sanitizeNodeName(n.type);
missingNodeTypes.push(n.type);
}
}

Loading…
Cancel
Save