GNU groff and standard troff Vulnerabilities
Versions of GNU groff prior to release 1.11a and standard troff contain vulnerabilities that can possibly lead to a local root compromise if the conditions are right and circumstances are somehow met. A malicious user can, in theory, embed t/g|roff macros inside of man pages that will execute with the uid of the unknowing reader. A groff example of this is a manpage that, once read as root, will add another user to /etc/passwd with uid0 and no password. To execute a command and display the output, the macro .pso can be used. While troff has fixed some of these, or at least disabled them by default, old vulnerabilities still exist such as .sy and .pi which respectively execute commands a la system() and pipe output to a program.