microsoft/Terminal

Let Terminal auto-detect a busted `AutoRun` value for CMD

开放

#15,658 创建于 2023年7月5日

 (2 条评论) (0 个反应) (0 位负责人)C++ (9,275 个派生)batch import
Area-TerminalConnectionArea-UserInterfaceHelp WantedIssue-TaskProduct-Terminal

仓库指标

星标
 (103,173 个星标)
PR 合并指标
 (平均合并 27天 19小时) (30 天内合并 24 个 PR)

描述

CMD has this magic AutoRun reg key that's a gigantic footgun.

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
  • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Basically, if someone writes a bad value to that, it can mess up CMD.exe real bad. As a real life example: https://github.com/conda/constructor/pull/521

We attempted to patch this in Windows 11. But we'll surely be unable to backport that. While we're maintaining Windows 10 support, it might be nice to return a specific warning for this in Terminal. Something like:

if (profileGuid == {cmd} && error == 1 && reg query ....) { write("Hey your AutoRun value might be busted. Go check these reg keys:"); }

(for discussion. We can always just say meh, since we did fix this for cmd.exe)

贡献者指南