File write

This executable can write data to local files.
  1. This function can be performed by any unprivileged user.
    echo DATA | cp /dev/stdin /path/to/output-file
    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 ....
    echo DATA | cp /dev/stdin /path/to/output-file
    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.
    echo DATA | cp /dev/stdin /path/to/output-file

File read

This executable can read data from local files.
  1. This function can be performed by any unprivileged user.
    cp /path/to/input-file /dev/stdout
    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 ....
    cp /path/to/input-file /dev/stdout
    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.
    cp /path/to/input-file /dev/stdout

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. CommentThis can be used to copy and then read or write files from a restricted file systems or with elevated privileges. (The GNU version of cp has the --parents option that can be used to also create the directory hierarchy specified in the source path, to the destination folder.)
    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 ....
    cp /path/to/input-file /path/to/output-file
    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.
    cp /path/to/input-file /path/to/output-file
  2. CommentThis can copy SUID permissions from any SUID binary (e.g., /path/to/input-file) to another.
    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 ....
    cp --attributes-only --preserve=all /path/to/input-file /path/to/output-file
    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.
    cp --attributes-only --preserve=all /path/to/input-file /path/to/output-file