I have created a service account using the Add-ADComputerServiceAccount
cmdlet and bound it to a computer account using Install-ADServiceAccount
. When looking into the ACL of the created service account object, I noticed that the "Everyone" group has the "Change Password" permission assigned for this object, while "SELF" mysteriously has not:
This looks like a security problem and a denial-of-service attack vector. Why is this so? Does it have to stay this way?
Take a look at the default security ACL on a normal user account. You'll notice that Everyone has Change Password on those as well. But everyone can't just go and change each others passwords.
Remember that Change Password and Reset Password are two different permissions. Changing a password is something the user does for itself and requires providing the current password as part of the process. Resetting a password is something done administratively by another user and doesn't require the current password.
Edit: Nope, I was wrong about the underlying reason. Microsoft Article KB242795 explains better the underlying reason for the permission.
From the article: