Search: Home Bugtraq Vulnerabilities Mailing Lists Jobs Tools Beta Programs

cfingerd Buffer Oveflow Vulnerability

There is a remotely exploitable buffer overflow in cfingerd 1.3.2, which ships with Debian GNU/Linux. The offending code is as follows:

int search_fake(char *username)
{
char parsed[80];

bzero(parsed, 80);
sscanf(username, "%[^.].%*[^\r\n]\r\n", parsed);
...


called from process_username(), that is called from main:

int main(int argc, char *argv[])
{
char username[100], syslog_str[200];
...

if (!emulated) {
if (!fgets(username, sizeof(username), stdin)) {

...
/* Check the finger information coming in and return its type */
un_type = process_username(username);


search_illegal() is called before search_fake(), so only legal characters [A-z0-9] can be used to exploit this vulnerability. The consequence is a remote root compromise.







 

Privacy Statement
Copyright 2009, SecurityFocus