[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ntop <= 3.3.10 Basic Authentication Null Pointer Denial of Service



Title: ntop <= 3.3.10 Basic Authentication Null Pointer Denial of Service
---------------------------------------------------------------------------------

Vendor: ntop

Vendor URL: www.ntop.org

Vendor Response: None

Description:

A denial of service condition can be reached by specifying an invalid value for 
the Authorization 
HTTP header. When ntop recieves this, it attempts to base64 decode the value 
then split it based on
a colon. When no colon exists in the decoded string the username is left at its 
default NULL value. 
During the authentication process the length of the username is computed via 
strlen(), which results
in a segmentation fault when it processes the null value. 

Code:

static int checkHTTPpassword(char *theRequestedURL,
                             int theRequestedURLLen _UNUSED_,
                             char* thePw, int thePwLen) {
  char outBuffer[65], tmpOutBuffer[65], *user = NULL, 
users[LEN_GENERAL_WORK_BUFFER];