microsoft/Terminal

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

Open

#15,658 opened on Jul 5, 2023

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (3,212 forks)batch import
Area-TerminalConnectionArea-UserInterfaceHelp WantedIssue-TaskProduct-Terminal

Repository metrics

Stars
 (35,764 stars)
PR merge metrics
 (Avg merge 27d 19h) (24 merged PRs in 30d)

Description

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)

Contributor guide