MaMo Net



#1 26.08.2010, 21:29
MaMo Abwesend
Administrator
Dabei seit: 06.04.2004
Beiträge: 2.640


Betreff: XSS-Schwachstelle in Viscacha vorhanden
Soeben ist mir eine XSS-Sicherheitslücke in Viscacha bekannt geworden. Ein Benutzer konnte beliebigen JavaScript-Code in die Instant-Messenger-Felder eingeben und dieser Code wurde dann bei der Ausgabe ausgeführt. Es handelt sich um keine kritische Lücke! Betroffen sind die Versionen 0.8 RC5 - 0.8 Gold.

Ursache ist ein Fehler in der Datei classes/class.permissions.php, dort werden nicht alle Daten korrekt behandelt. Im Anhang befindet sich eine ZIP-Datei die die betroffene und korrigierte Datei enthält. Bitte die Datei ersetzen (nur 0.8 Gold) oder die unten angegebenen Änderungen manuell durchführen (möglich von 0.8 RC 5 bis 0.8 Gold)!

Die Downloadpakete wurden im Laufe der Nacht aktualisiert. In Version 0.8.1 wird diese Lücke geschlossen sein, diese Version ist fast fertiggestellt und sollte Anfang Q4 veröffentlicht werden.

Suche nach:
DownloadPHP-Quelltext:
  1. function cleanUserData($data) {
  2.         global $gpc;
  3.         if (is_object($data)) {
  4.                 $trust = array(
  5.                         'id', 'pw', 'regdate', 'posts', 'gender', 'birthday', 'lastvisit', 'icq', 'opt_textarea', 'language',
  6.                         'opt_pmnotify', 'opt_hidebad', 'opt_hidemail', 'opt_newsletter', 'opt_showsig', 'template', 'confirm', // from user-table
  7.                         'ufid', // from userfields-table
  8.                         'mid', 'active', 'wiw_id', 'last_visit', 'is_bot', 'mark', 'pwfaccess', 'settings' // from session-table
  9.                 );
  10.                 foreach ($data as $key => $value) {
  11.                         if (in_array($key, $trust) == false) {
  12.                                 $data->$key = $gpc->prepare($value);
  13.                         }
  14.                 }
  15.         }
  16.         return $data;
  17. }
Ersetze durch:
DownloadPHP-Quelltext:
  1. function cleanUserData($data) {
  2.         $trust = array(
  3.                 'id', 'pw', 'regdate', 'posts', 'gender', 'birthday', 'lastvisit', 'icq', 'opt_textarea', 'language',
  4.                 'opt_pmnotify', 'opt_hidebad', 'opt_hidemail', 'opt_newsletter', 'opt_showsig', 'template', 'confirm', // from user-table
  5.                 'ufid', // from userfields-table
  6.                 'mid', 'active', 'wiw_id', 'last_visit', 'is_bot', 'mark', 'pwfaccess', 'settings' // from session-table
  7.         );
  8.         if (is_object($data)) {
  9.                 global $gpc;
  10.                 foreach ($data as $key => $value) {
  11.                         if (in_array($key, $trust) == false) {
  12.                                 $data->$key = $gpc->prepare($value);
  13.                         }
  14.                 }
  15.         }
  16.         else if (is_array($data)) {
  17.                 foreach ($data as $key => $value) {
  18.                         if (in_array($key, $trust) == false) {
  19.                                 $data[$key] = $gpc->prepare($value);
  20.                         }
  21.                 }
  22.         }
  23.         else {
  24.                 trigger_error('Data passed to cleanUserData has not been not secured! Wrong data type specified.', E_USER_WARNING);
  25.         }
  26.         return $data;
  27. }


Dateianhänge:
Dateityp-Informationen zu: zip  class.permissions.zip
Downloads: 250
Dateigröße: 10,27 KB


Matthias M.
=> Support nur per Forum - dann haben alle etwas davon!
Dieser Beitrag wurde 5 mal editiert, das letzte Mal am 04.09.2010, 17:54 von MaMo. ↑  ↓

#2 27.08.2010, 19:12
Speedy Abwesend
Mitglied
Dabei seit: 29.05.2008
Beiträge: 1


Betreff: Re: XSS-Schwachstelle in Viscacha vorhanden
danke für den hinweis und schnellen fix
↑  ↓

Seiten (1): 1


Alle Zeitangaben in GMT +02:00. Aktuelle Uhrzeit: 20:36.