Beveiligings-update.

Nieuws van en over phpBB(.nl) Afbeelding Afbeelding
Spikey
Berichten: 1361
Lid geworden op: 21 dec 2002, 23:08

Beveiligings-update.

Bericht door Spikey » 02 jan 2004, 14:50

Wij zijn gewaarschuwd voor twee veiligheids-problemen in het bestaande 2.0.6 pakket. Eén heeft te maken met cross-scripting en de ander staat toe dat bepaalde gebruikers-groepen (moderators-groep) misbruik kunnen maken van onjuiste data validerings probleem.
Hoewel het zeer twijfelachtig is dat er ook daadwerkelijk misbruik van gemaakt is (vooral het moderator groep probleem), zijn beide problemen serieus genoeg en adviseren wij je om z.s.m. te updaten.

Nieuwe ge-update pakketten van versie 2.0.6. zijn nu verkrijgbaar onder de downloads op deze site.
Voor degene die niet willen updaten via een nieuw pakket (vanwege geïnstalleerde mods etc.), breng onderstaande wijzigingen aan in de bestaande bestanden:

Open privmsg.php in jouw favoriete editor en zoek het volgende stukje code:

Code: Selecteer alles

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
}

en vervang deze met:

Code: Selecteer alles

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 
   $folder = htmlspecialchars($folder); 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
}

Zoek:

Code: Selecteer alles

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
}

en vervang deze met:

Code: Selecteer alles

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
}

Open groupcp.php en zoek het volgende:

Code: Selecteer alles

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
}

vervang dit met:

Code: Selecteer alles

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
}

zoek:

Code: Selecteer alles

            if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . $members[$i]; 
               }

vervang dit met:

Code: Selecteer alles

            if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . intval($members[$i]); 
               }

Sluit de bestanden af en sla de wijzigingen op en upload deze twee bestanden waarbij je de bestaande overschrijft.

Controleer dit "Aankondigingen" forum regelmatig voor de laatste updates en verwerk die zo spoedig mogelijk, hiermee zorg je ervoor dat jouw phpBB board zo veilig mogelijk is.

Origineel bericht van phpbb.com: http://www.phpbb.com/phpBB/viewtopic.php?t=161943
gr. Spikey

Geen support via pb, email, msn, uw vragen worden niet beantwoord !

Plaats reactie