Thanks, Steve for this question, which highlights that the use of SELF is really dangerous. If you create a procedure and add WITH EXECUTE AS SELF to it, anyone who runs the procedure will execute with your permissions. (And anything they update, you will be held accountable for.), see:
and see also the reply from GSquared