Services running as LocalSystem are part of a trusted system space. Technically, they have the privilege of SeTcbName . This means, in particular, that such services can change any security settings, provide any privileges, and generally do whatever Windows can do.
As a result, any drawback of your service is unanalyzed input passed to system functions, incorrect dll search routes, buffer overflows, etc. - becomes a critical core of security. That is why no system administrator in a corporate environment can install your service if it runs under LocalSystem . Use LocalService and NetworkService accounts.
Anton Tykhyy
source share