Subject: uses HTTP_X_FORWARDED_FOR for authentication (and other security holes)
Package: chetcpasswd
Version: 2.3.3-1
Severity: critical
Tags: security

chetpasswd uses the HTTP_X_FORWARDED_FOR for authentication purposes:

   if(getenv("HTTP_X_FORWARDED_FOR"))
      sprintf(IP,"%s",getenv("HTTP_X_FORWARDED_FOR"));
    else sprintf(IP,"%s",getenv("REMOTE_ADDR"));

and then goes on to check IP against
/etc/chetcpasswd/chetcpasswd.allow.  

Obviously, HTTP_X_FORWARDED_FOR is not a trusted variable, and can be
spoofed by any scriptkiddie who can read the man page of wget.  Simply
spoofing it to 127.0.0.1 will give access to the password changing app
from any remote host.  

Furthermore, this cgi script doesn't seem to implement any rate
limiting for the passwd checks, thereby  allowing for a dictionary
attack via http.  Also, it seems to give different a error message if
the user is not found then if the entered password is wrong, thereby
exposing the names of user accounts to external attackers.

There are also issues with the package not using pam, and its
circumventing of any checks the admin might have in place.

I really think this package needs a security audit.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.17.8
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to