UUCP allows the copying of files between different UNIX systems and for sending commands for execution on a remote system. uux is a component of uucp used to retrieve a number of files from remote systems, execute a command on a specified host, and record the results (from standard output) to a given file. By supplying an excessively long string as an argument to uux on the command line, it is possible for a local attacker to overflow the program's input buffer. As a result of this overflow, excess data copied onto the stack can overwrite critical parts of the stack frame such as the calling function's return address. Since this data is supplied by the user it can be crafted to alter the program's flow of execution. Properly exploited, this could grant the attacker an elevation of privileges.
UUCP allows the copying of files between different UNIX systems and for sending commands for execution on a remote system. uux is a component of uucp used to retrieve a number of files from remote systems, execute a command on a specified host, and record the results (from standard output) to a given file. By supplying an excessively long string as an argument to uux on the command line, it is possible for a local attacker to overflow the program's input buffer. As a result of this overflow, excess data copied onto the stack can overwrite critical parts of the stack frame such as the calling function's return address. Since this data is supplied by the user it can be crafted to alter the program's flow of execution. Properly exploited, this could grant the attacker an elevation of privileges.