COMMAND

    Ultimate Bulletin Board

SYSTEMS AFFECTED

    Ultimate Bulletin Board v5.3x

PROBLEM

    Sean Malloy found  following.  There  seems to be  a bug with  the
    UBB under  NT   (don't believe  Unix users  of the  UBB are  faced
    with the  same problem).   Of course  it could  be the  version of
    ActivePerl, combined  with the  bug in  the board,  but anyways...
    By  default,  Member  files  are  stored  in  the /cgi-bin/Members
    directory.  The members files  are stored as numbers, with  a .cgi
    extension, eg: 00000001.cgi

    Under unix, if you put in

        http://www.url.blah/cgi-bin/Members/00000001.cgi

    the  server  will  return  a  500  error,  however,  under NT with
    ActivePerl (v5.07?), it will return something like this:

        CGI Error
        The specified CGI application misbehaved by not returning a complete set of
        HTTP headers. The headers it did return are:
        Number found where operator expected at
        D:\CONTENT\wwwroot\data\ubb\Members\00000001.cgi line 2, near "Malby
        1"
	        (Missing semicolon on previous line?)
        syntax error at D:\CONTENT\wwwroot\data\ubb\Members\00000001.cgi line 2,
        near "Malby
        1"
        Bareword found where operator expected at
        D:\CONTENT\wwwroot\data\ubb\Members\00000001.cgi line 2, near "mypass"
	        (Missing operator before malby2?)
        Bareword found where operator expected at
        D:\CONTENT\wwwroot\data\ubb\Members\00000001.cgi line 4, near "//www"
	        (Missing operator before www?)
        Semicolon seems to be missing at
        D:\CONTENT\wwwroot\data\ubb\Members\00000001.cgi line 6.
        Number found where operator expected at D:\CONTE

    yay for UBB handing out our password (line 2) to anyone who  wants
    to  read  it.   This  does  not  work  on  every data file, it may
    depends on wether  the username has  spaces in it,  etc.  However,
    it creates a  very large hole.   You just need  to get one  of the
    administrators  data  files,  and  as  you could imagine, all hell
    would break loose.

    The people at Infopop/Madronapark offer a "Example Sites" list,  a
    listing of users with UBB (Theres a lot of them), so now you  have
    a big list of would be victims.  Someone can go through, and  test
    each board.

SOLUTION

    How  to  fix?  Change  the  members  path  to  something more like
    xvc83nx9wy4nd0w74m3.  That will  solve it.  Until  someone guesses
    the path.  Security through  obscurity.  It won't hurt,  but don't
    put faith in the "that will solve it" schpeil.

    From the ultimatebb homepage installation instructions:

    D) Create  a Members  directory. All  of the  files in the Members
       folder of your ZIP file  should be stored in another  directory
       on your web  server. You should  create a new  directory called
       "Members" on your web server to store these Members CGI  files.
       It  is  imperative  that   you  name  this  directory   Members
       (exactly); otherwise, the UBB  will not function properly.  You
       should place this  directory either as  a subdirectory of  your
       CGI  directory  or  above  the  web root, for security reasons.
       Once you  have created  this new  directory, upload  all of the
       files  in  the  Members  folder  into  it.  These files must be
       uploaded in ASCII mode, not BINARY.

    So  to  fix  this  bug,  all  one  has  to do is place the Members
    directory outside the web root.