<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://bricole.xn--phnix-csa.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Les bricoles du web - Patchs</title>
  <link>http://bricole.xn--phnix-csa.net/</link>
  <description>Bricoles [bʁi.kɔl] : travaux menus, sans importance, accessoires (Wiktionnaire)</description>
  <language>fr</language>
  <pubDate>Thu, 07 Aug 2008 10:09:59 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Un patch de sécurité pour Dotclear</title>
    <link>http://bricole.xn--phnix-csa.net/post/Un-patch-de-securite-pour-Dotclear</link>
    <guid isPermaLink="false">urn:md5:0fabed3f4a87fc628ab6ddbcbd7fda11</guid>
    <pubDate>Fri, 30 Nov 2007 00:00:00 +0100</pubDate>
    <dc:creator>Sacha</dc:creator>
        <category>Dotclear</category><category>Hack</category><category>Patchs</category>    
    <description>&lt;p&gt;Deux raisons justifient ce patch&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Il existe un problème de sécurité dans Dotclear qui permet d'&lt;strong&gt;exécuter du code JavaScript sur le navigateur de l'administrateur du blog à son insu&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;L'information sur l'adresse &lt;acronym title=&quot;Internet Protocol&quot;&gt;IP&lt;/acronym&gt; d'un commentaire ou d'un rétrolien est facilement falsifiable. De même, tous les filtres Antispam basés sur la vérification de l'adresse &lt;acronym title=&quot;Internet Protocol&quot;&gt;IP&lt;/acronym&gt; sont dérisoires pour un spammeur utilisant cette vulnérabilité Dotclear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;http://bricole.xn--phnix-csa.net/public/img/picts/chaine_brisee.jpg&quot; alt=&quot;Une chaîne cassée&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;    &lt;h3&gt;Description technique&lt;/h3&gt;


&lt;p&gt;La fonction &lt;code&gt;realIP()&lt;/code&gt; de la classe &lt;code&gt;http&lt;/code&gt; de &lt;strong&gt;Clearbricks&lt;/strong&gt; renvoie un contenu (censé être l'adresse &lt;acronym title=&quot;Internet Protocol&quot;&gt;IP&lt;/acronym&gt; du client) qui peut être modifié arbitrairement par le client en précisant les en-têtes &lt;acronym title=&quot;Hypertext Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; &lt;code&gt;CLIENT_IP&lt;/code&gt; ou &lt;code&gt;X_FORWARDED_FOR&lt;/code&gt; sur son navigateur web (p.ex. en utilisant l'extension &lt;a href=&quot;http://modifyheaders.mozdev.org/&quot; hreflang=&quot;en&quot;&gt;Modify Headers&lt;/a&gt; pour Firefox). De plus, il est possible d'assigner du code JavaScript à &lt;code&gt;CLIENT_IP&lt;/code&gt; qui sera exécuté sur le navigateur de l'administrateur du blog au moment de la prévisualisation d'un commentaire ou de l'édition d'un article existant&lt;sup&gt;[&lt;a href=&quot;http://bricole.xn--phnix-csa.net/post/#pnote-153-1&quot; id=&quot;rev-pnote-153-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;h3&gt;Correction rapide&lt;/h3&gt;


&lt;p&gt;Le moyen le plus simple de corriger cette faille de sécurité est d'éditer le fichier &lt;code&gt;inc/clearbricks/common/lib.http.php&lt;/code&gt;. Il faut de remplacer la fonction &lt;code&gt;realIP()&lt;/code&gt; (lignes 129 - 189) par celle-ci&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
	public static function realIP()
	{
		if (isset($_SERVER['REMOTE_ADDR'])) {
			return $_SERVER['REMOTE_ADDR'];
		}
		else {
			return null;
		}
	}
&lt;/pre&gt;


&lt;p&gt;Vous pouvez également télécharger le fichier &lt;code&gt;lib.http.php&lt;/code&gt; joint à ce billet et le mettre à la place de l'ancien fichier.&lt;/p&gt;


&lt;h3&gt;Patch pour la version &lt;acronym title=&quot;Subversion&quot;&gt;SVN&lt;/acronym&gt;&lt;/h3&gt;


&lt;p&gt;La correction rapide suffit parfaitement pour corriger cette faille de sécurité. Ce qui suit s'adresse donc à des personnes qui connaissent bien au moins les bases de la programmation et qui souhaitent faire une correction &quot;plus propre&quot;. Si ce n'est pas votre cas, il est plus sûr d'opter pour la correction rapide, &lt;strong&gt;qui est équivalente&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Le patch se situe dans les documents annexes à ce billet.&lt;/p&gt;


&lt;h3&gt;Un exploit&amp;nbsp;?&lt;/h3&gt;


&lt;p&gt;Je ne montre pas ici la manière dont cette vulnérabilité peut être exploitée pour, par exemple, se connecter en tant qu'administrateur sur un blog vulnérable. Cependant c'est faisable sans trop de peine. Si je ne m'en suis pas occupé, c'est parce que mon temps libre est limité et j'ai autre chose à faire que de montrer les conséquences qu'une omission de cette correction peut avoir.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://bricole.xn--phnix-csa.net/post/#rev-pnote-153-1&quot; id=&quot;pnote-153-1&quot;&gt;1&lt;/a&gt;] La preuve, suite à &lt;a href=&quot;http://www.dotclear.net/forum/viewtopic.php?id=30624&quot; hreflang=&quot;fr&quot;&gt;un incident&lt;/a&gt; (involontaire de ma part), &lt;a href=&quot;http://www.brol.info/&quot; hreflang=&quot;fr&quot;&gt;brol&lt;/a&gt; m'a poliment proposé d'&lt;q&gt;utiliser mon propre blog pour mes essais de merde&lt;/q&gt;. Que brol soit rassuré, j'utilisais mon propre blog pour le faire, c'est juste que j'avais oublié de désactiver l'extension qui me permettait de faire ces essais quand je visitais son blog.&lt;/p&gt;&lt;/div&gt;
</description>
    
          <enclosure url="http://bricole.xn--phnix-csa.net/public/txt/dc_patch_1537.txt"
      length="2431" type="text/plain" />
          <enclosure url="http://bricole.xn--phnix-csa.net/public/txt/lib.http.php"
      length="9502" type="text/plain" />
    
    
          <comments>http://bricole.xn--phnix-csa.net/post/Un-patch-de-securite-pour-Dotclear#comment-form</comments>
      <wfw:comment>http://bricole.xn--phnix-csa.net/post/Un-patch-de-securite-pour-Dotclear#comment-form</wfw:comment>
      <wfw:commentRss>http://bricole.xn--phnix-csa.net/feed/rss2/comments/153</wfw:commentRss>
      </item>
    
</channel>
</rss>