Le phpBB group annonce la mise à disposition de phpBB 2.0.17, intitulé « no, we did not forget naming it last time». Cette version corrige plusieurs bugs et quelques problèmes de sécurité aussi bien que la faille XSS récemment apparue (affectant seulement l'Internet Explorer).
Veuillez consulter la fin de cette annonce pour les changements de code nécessaires afin de fixer la faille XSS, nous sommes de nouveau étonnés au sujet des personnes mettant toutes leurs énergies dans la recherche de la plus petite faille dans phpBB 2.0.x, ceux-ci doivent avoir beaucoup de temps disponible. Mais d'une part il augmente toujours la sécurité de ce produit puisque nous n'incluons pas de nouvelles fonctions dans le code de base de la branche 2.0.x.
Avec cette annonce je veux vous fournir encore plus d'information concernant la sécurité dans phpBB. psoTFX (Paul S. Owen, chef de projet) a lancé et mis en route l'idée et le concept d'un audit de sécurité complet du code de la branche 2.0.x. Nous avons présenté ceux-ci à plusieurs personnes spécialisées en sécurité, des créateurs de mod's et des personnes très douées de nos équipes pour participer à cet audit. Nous avons l'intention de mettre en application les changements nécessaires - et également fixer les failles trouvées, si tout va bien cela permettra au code très âgé maintenant (il est toujours au niveau technique datant de trois ans) d'avoir une petite mise à jour et de profiter des mécanismes et techniques de sécurité qui sont communes de nos jours.
Nous avons l'intention également d'ouvrir notre système privé de bugtracker au public pour rapporter les bogues de la branche 2.0.x dans les jours suivants.
Comme avec toutes les nouvelles versions nous vous invitons à mettre à jour aussitôt que possible. Vous pouvez naturellement trouver ce téléchargement disponible sur notre page de téléchargements. Comme à l'habitude les trois paquets habituels sont disponibles pour simplifier votre mise à jour.
- Distribution complète
Contient l'intégralité des sources de phpBB2 et le pack de langue anglaise - Fichiers modifiés uniquement
Contient seulement les fichiers modifiés des versions précédentes de phpBB. Veuillez noter cette archive contient les fichiers modifiés pour chaque précédente version. - Patch
Contient les patchs compatibles avec les précédents patchs appliqués aux versions précédentes de phpBB.
Et comme toujours, le tutoriel concernant le code change est disponible pour ceux ayant modifiés les fichiers du forums (mod's, etc...). Il peut être consulté ici.
Veuillez-vous assurer d'avoir lu les documents INSTALL et README dans le répertoire docs/ avant de procéder à l'installation ou aux mises à jour !
Qu'est-ce qui a changé dans cette version ?
Le change log (contenu dans cette version) est le suivant :
- Added extra checks to the deletion code in privmsg.php - reported by party_fan
- Fixed XSS issue in IE using the url BBCode
- Fixed admin activation so that you must have administrator rights to activate accounts in this mode - reported by ieure
- Fixed get_username returning wrong row for usernames beginning with numerics - reported by Ptirhiik
- Pass username through phpbb_clean_username within validate_username function - AnthraX101
- Fixed PHP error in message_die function
- Fixed incorrect generation of {postrow.SEARCH_IMG} tag in viewtopic.php - reported by Double_J
- Also fixed above issue in usercp_viewprofile.php
- Fixed incorrect setting of user_level on pending members if a group is granted moderator rights - reported by halochat
- Fixed ordering of forums on admin_ug_auth.php to be consistant with other pages
- Correctly set username on posts when deleting a user from the admin panel
Changements de code pour fixer la faille XSS :
ouvrir includes/bbcode.php
Trouver (aux environs de la ligne 203):
- Code: Tout sélectionner
$patterns[] = "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.[^ \"\n\r\t<]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url2'];
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url3'];
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?\n\r\t].*?)\[/url\]#is";
Remplacer par
- Code: Tout sélectionner
$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url2'];
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url3'];
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
Trouver (aux environs de la ligne 627):
- Code: Tout sélectionner
$ret = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
Remplacer par
- Code: Tout sélectionner
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
Source :
phpbb.com (en)

