5.1 Security Considerations for Implementers
The S4U2self extension allows a service to obtain a service ticket to itself on behalf of a user. This extension is used to obtain authorization data for the user to allow the service to make access control decisions on the local system. As such, the service should be certain to adequately authenticate the user before obtaining the service ticket.
The S4U2proxy extension allows a service to obtain a service ticket to a second service on behalf of a user. When combined with S4U2self, this allows the first service to impersonate any user principal while accessing the second service. This gives any service allowed access to the S4U2proxy extension a degree of power similar to that of the KDC itself. This implies that each of the services allowed to invoke this extension should be protected nearly as strongly as the KDC and should be limited to those that the implementer knows to have correct behavior.
A service can confirm that the service ticket did not originate from the client by the S4UTransitedServices field in the S4U_DELEGATION_INFO structure (see [MS-PAC] section 2.9).