我们正在考虑允许用户在我们的网络应用程序中上传 SVG。由于我们知道不受信任的 SVG 中存在大量复杂漏洞,我们之前一直犹豫是否要这样做。一位同事发现了 Inkscape 的 --vacuum-defs 选项,并认为它可以使所有不受信任的 SVGS 安全处理。
根据手册页,该选项“从 SVG 文件的部分中删除所有未使用的项目。如果此选项与 --export-plain-svg 一起调用,则只有导出的文件会受到影响。如果单独使用,指定的文件将被原地修改。” 但是,根据我的同事的说法,“脚本被删除,XML 转换被删除,畸形是不能容忍的,编码被删除了,外部导入被删除了。
这是真的?如果是这样,是否足以让我们放心接受不受信任的 SVG?我们还应该做其他预处理吗?