|
Bugzilla – Full Text Bug Listing |
| Summary: | The timeout after entering a wrong password is easy to skip | ||
|---|---|---|---|
| Product: | Sudo | Reporter: | sudobugs |
| Component: | Sudo | Assignee: | Todd C. Miller <Todd.Miller> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | low | ||
| Version: | 1.8.11 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Attachments: | Patch to block SIGINT and SIGQUIT during password verification. | ||
|
Description
sudobugs
2014-09-26 07:08:15 MDT
Sudo installs a signal handler that just writes to a pipe before the command is executed (a separate signal handler is used during password entry itself). Since any signal received will interrupt a sleep, this has a side effect of ending the sleep done by pam_unix. The simplest solution is probably to just block SIGINT and SIGQUIT during authentication. Ideally, CTRL-C should also cause sudo's password reading loop to terminate which is a bit more complicated since we don't want it to prevent logging from happening. Created attachment 430 [details]
Patch to block SIGINT and SIGQUIT during password verification.
The attached patch should do the trick. It is no longer possible to interrupt the sleep in pam_unix and the password loop will exit afterwards if the user enters ^C during the sleep.
Fixed in sudo 1.8.11p1, available now. |