It was a design decision from a time when software management was non-existent. &quot;Installing&quot; meant creating a directory in the root of the hard drive and copying all your files there. Shared libraries didn&#x27;t exist.<p>But this type of exploit still existed even under MS-DOS in the form of BBS door hacks. Remote access systems would let you run external programs connected to the serial line. But some would leave the CWD in the download directory after an upload thus allowing you to send a file with the name of an external program then when you activate that program you have a shell.<p>The solution then still applies today: Don&#x27;t run external programs without sanitizing your environment. Quarantine all uploads. Don&#x27;t allow the remote client to control the filename of uploads.<p>And it&#x27;s not like Windows doesn&#x27;t have an executable bit on files. The shell already prompts you for permission to run downloaded programs. Why is it not clearing execute permission by default then adding it when the file is confirmed safe? (I know from experience that a non-executable ACL will prevent a DLL from loading.)