UBB.Dev
Posted By: Mikrokosmos Sicherheitslücke - 06/27/2003 1:34 AM
Kann mir jemand mehr hierzu sagen und wie man es fixen kann. bzw. versteh ich noch nicht wie es überhaupt geht.

Vulnerability found in UBB 6.0.x and (possible) in UBB 6.1.x
@ SMS
Dec 03 2001, 16:58 (UTC+0)
From: xatmer :
Vulnerability in Ultimate Bulletin Board 6.0.x and maybe 6.1.x.
Any user can receive passwords of others, having taken advantage of function of a reminder of the password (lost password).

Sorry for my terrible English, I use auto-translator on www.translate.ru.
Algorithm the following.
1. We find email any of existing users on a board.
2. Registration the user with same e-mail
3. We change e-mail on necessary to us
4. We use a button to send the password
5. We receive the password not only required user, but also that whose mail any in the beginning.

It is possible to build the whole chains from emails.
And now the reason: the
File ubb_lib_misc.cgi

sub find_lost {

……………………………………..

# get list of registered emails
my @email_list = &OpenFileAsArray("$vars_config{MembersPath}/emailfile.cgi");

#lowercase the input
my $lc_email = lc($in{email});

# find matches
foreach (@email_list) {
($row_email, $row_un) = split(/||/, $_);
$lc_row_email = lc($row_email);
if ($lc_row_email eq "$lc_email") {
chomp($row_un);
push(@matches, $row_un);
}
}

# now we have matches
$match_total = @matches;

……………………………………….

Apparently from a code, function uses file emailfile.cgi for search of users with required e-mail address. File have the following format
email|public-mail|user_number
there is a pass on structures of the found users and sending of the password of these users on entered e-mail
Further. And now we shall understand, because of what it occurs.
ubb_profile.cgi
Function update_profile

# if email is changing, update emailfile.cgi
undef(@amend);
if ($lc_email ne "$lc_old_email") {

my @emailsfile = &OpenFileAsArray("$vars_config{MembersPath}/emailfile.cgi");

$lc_old_email =~ s/([.|@])/\$1/isg;

#####################################################
#####################################################

foreach $checker(@emailsfile) {
chomp($checker);
if ($checker =~ m/^$lc_old_email||/i) {
($j, $thisnum) = split(/||/, $checker);
$NewLine = "$lc_email||$thisnum";
push(@amend, $NewLine);
} else {
push(@amend, $checker);
}
}

#####################################################
#####################################################

open(FILE, ">$vars_config{MembersPath}/emailfile.cgi");
&lock;
foreach $dos(@amend) {
chomp($dos);
print FILE "$dosn";
}
&unlock;
close(FILE);
chmod (0666, "$vars_config{MembersPath}/emailfile.cgi");
}

we here see a file (interesting piece is allocated with comments), function opens, looked through on presence replaced e-mails, at detection varies, then enters the name. Only it is not taken into account, that someone could enter another's mail and replacement will pass not only at the user, the address which have requested change, and all such addresses.
The given vulnerability is found out in all UBB 6.0.x, 6.1.x was not tested in view of absence of the given version.

The decision of a problem:
In a file ubb_profile.cgi to make the following replacement the
Initial file:

foreach $checker(@emailsfile) {
chomp($checker);
if ($checker =~ m/^$lc_old_email||/i) {
($j, $thisnum) = split(/||/, $checker);
$NewLine = "$lc_email||$thisnum";
push(@amend, $NewLine);
} else {
push(@amend, $checker);
}
}

the changed file:

foreach $checker(@emailsfile) {
chomp($checker);
if ($checker =~ m/^$lc_old_email||/i) {
($j, $thisnum) = split(/||/, $checker);
if($thisnum == $user_number){
$NewLine = "$lc_email||$thisnum";
push(@amend, $NewLine);
}else{
push(@amend,$checker);
}
} else {
push(@amend, $checker);
}
}


(C) 2001 Xatmer [email protected]
Posted By: d-talk Re: Sicherheitslücke - 06/27/2003 2:43 AM
Man benutzt ja auch keine 6.0xxx Version es gibt mitllerweile 6.5...

Gruss
d-talk
Posted By: dj2k Re: Sicherheitslücke - 06/30/2003 1:19 AM
Haha!
Dann kauf mir eine Version!

Dj2K
Posted By: Mikrokosmos Re: Sicherheitslücke - 10/08/2003 2:46 PM
habe 6.3.0 und mein pass wurde gehackt und kann mich jetzt nicht mehr einloggen da auch die mail geändert wurde.

gibt es fixes dafür???
Posted By: Stamoulis Re: Sicherheitslücke - 10/09/2003 11:29 AM
schau auf dem server nach, in cgi-bin/ubb/Members findest du unter deiner member-nr (#1 nhme ich an als admin) eine datei, die kannst du dir ansehen, zweite zeile ist das pass.
Posted By: Mikrokosmos Re: Sicherheitslücke - 10/09/2003 1:34 PM
so nun hat er noch alle acounts gelöscht bin am verzweifeln was soll ich tun...
Posted By: Mikrokosmos Re: Sicherheitslücke - 10/09/2003 1:38 PM
hab zwar mein passwort doch der account ist nun gelöscht
Posted By: martin.away Re: Sicherheitslücke - 10/09/2003 3:27 PM
Quote
quote:
Originally posted by Mikrokosmos:
habe 6.3.0 und mein pass wurde gehackt und kann mich jetzt nicht mehr einloggen da auch die mail geändert wurde.

gibt es fixes dafür???
nein, infopop veröffentlicht keine informationen dazu.

du hast zwei möglichkeiten:

1. das was charles vorgeschlagen hat:
https://www.ubbdev.com/ubb/ultimatebb.php/ubb/get_topic/f/20/t/000883

2. der wechsel zu einer anderen forensoftware.

aber bleib nicht bei der ubb version!

zunächst solltest du, naja...musst du eigentlich ohnehin, die gelöschten benutzer aus der letzten datensicherung wieder einspielen.
installier dir dazu das ganze auf deinem rechner und mach das in aller ruhe.
achte dabei auch drauf, ob sich da jemand ein admin- oder moderatorenkonto eingerichtet hat.
Posted By: Mikrokosmos Re: Sicherheitslücke - 10/10/2003 1:33 PM
ok danke habe jetzt meine eine wochen alte sicherung drauf und es geht wieder.

gibt es wege sich vor so etwas zu schützen.

vor allem habe ich im admin log nachgesehen und konnte keinen eingriff bzw. aktion zum löschen aller benutzer im CP entdecken.
Posted By: Mikrokosmos Re: Sicherheitslücke - 10/10/2003 1:39 PM
ah ja und ich überlege umzusteigen auf ein anderes system. kann jemand empfehlungen aussprechen. meiner meinung sieht vbulletin ganz gut aus???
Posted By: GMe Re: Sicherheitslücke - 01/30/2004 12:14 PM
Hallo,
ich nutze UBB.classic 6.3.0.1

Nun ist es einer Person gelungen das Profil von einzelnen Leuten zu manipulieren, teilweise wurde der Inhalt der Profildatei auch vollständig gelöscht...

Was muss ich tun, um so etwas verhindern zu können?

das was charles vorgeschlagen hat:
https://www.ubbdev.com/ubb/ultimatebb.php/ubb/get_topic/f/20/t/000883
hatte ich bereits umgesetzt...

Es muss der Person gelungen sein ohne Zugriff zum Server oder Adminbereich die einzelnen Profile zu ändern? Was ist zu tun, um diese Sicherheitslücke zu schließen?

Bitte sagt jetzt nicht ich solle mein Board updaten, momentan fehlt mir dazu einfach die Kohle. Bin für jede Hilfe dankbar!
© UBB.Developers