Skip to content

DSH Cockpit 0.2.2

Choose a tag to compare

@ethan0084 ethan0084 released this 16 Aug 06:18
· 1 commit to main since this release

安全修复版本,建议所有用户升级0.2.1 及更早版本存在下列问题。

修复内容

  • 终端 cwd 越界runTerminalCommand 未经工作区边界校验解析 cwd,传入 ../../../../etc 之类的相对路径可在工作区外执行命令。现改为与其他接口一致使用 targetFrom() 校验。
  • 上报 cwd 未受约束:命令执行后回传的 cwd 被直接采纳,cd / 可把工作区外的目录带入下一条命令。现仅在路径位于工作区内时才采纳。
  • 写接口缺少同源校验:此前仅 terminal 受保护,revealwritetransferupload 均可被任意网页跨站调用,从而改写或上传工作区文件。
  • Markdown 链接 XSS:预览时链接 URL 被直接写入 href,不可信 .md 中的 javascript: 链接可在具备文件读写能力的上下文中执行。现经 safeUrl() 过滤。
  • 静态资源缺少防嗅探响应头:新增 X-Content-Type-Options: nosniffContent-Security-Policy;SVG 改为以附件形式下载,避免同源内联执行脚本。

升级

dsh plugin --profile web add dsh-cockpit@0.2.2

说明

新增 tests/security.test.mjs,覆盖上述每一项,修复前全部失败。仓库已启用 Dependabot 与 CodeQL。

完整变更见 CHANGELOG.md