4
After looking at the code, it does appear to work as you described. I don't think it's especially insecure, since the activation key is only sent to admins. But it would probably be better to require an admin login.
The fix would be done in user.php, by checking that an admin is currently logged in before calling activateUser(), when $xoopsConfigUser['activation_type'] is 2.