Gravatar de Armonth

Limpieza del panel en WordPress 2.1 y más fallos XSS

Dos apuntes para la rama 2.1 de WordPress (sinceramente, no me dais ninguna envidia los que habeis migrado a la nueva rama…) y añadir que espero que se estabilicen las cosas…

Lo primero es lo que comenta Emarts, el viejo método para limpiar el panel de administración en la rama 2.0.x ya no funciona.

Ahora la parte de código respectiva a los feeds del Dashboard está en wp-admin/index-extra.php. Aunque emarts da la solución de vaciar la URL del feed, si no me equivoco aún así el código intentará hacer la descarga (fallando, eso sí).

El código que hay que eliminar es desde las líneas 22 hasta la 63 ambas incluidas, lo que equivale al siguiente fragmento de código:

<?php
}
break;

case 'devnews' :
$rss = @fetch_rss('http://wordpress.org/development/feed/');
if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<h3><?php _e('WordPress Development Blog'); ?></h3>
<?php
$rss->items = array_slice($rss->items, 0, 3);
foreach ($rss->items as $item ) {
?>
<h4><a href='<?php echo wp_filter_kses($item['link']); ?>'><?php echo wp_specialchars($item['title']); ?></a> &#8212; <?php printf(__('%s ago'), human_time_diff(strtotime($item['pubdate'], time() ) ) ); ?></h4>
<p><?php echo $item['description']; ?></p>
<?php
    }
}
?>

<?php
break;

case 'planetnews' :
$rss = @fetch_rss('http://planet.wordpress.org/feed/');
if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<h3><?php _e('Other WordPress News'); ?></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 20);
foreach ($rss->items as $item ) {
$title = wp_specialchars($item['title']);
$author = preg_replace( '|(.+?):.+|s', '$1', $item['title'] );
$post = preg_replace( '|.+?:(.+)|s', '$1', $item['title'] );
?>
<li><a href='<?php echo wp_filter_kses($item['link']); ?>'><span class="post"><?php echo $post; ?></span><span class="hidden"> - </span><cite><?php echo $author; ?></cite></a></li>
<?php
    }
?>
</ul>
<p class="readmore"><a href="http://planet.wordpress.org/"><?php _e('Read more'); ?> &raquo;</a></p>

Lo segundo y bastante más grave son los errores XSS en Wordpress y el plugin Akismet que comenta Alex de Buayacorp aunque no especifica versión/versiones afectadas (este tío se pasa media vida buscando fallos a WordPress y a Menéame ;)) y a la vez que reporta errores ofrece ficheros parcheados — casi al final de la entrada — realiza una interesante reflexión sobre el uso de plugins y que no se dan recomendaciones para hacer plugins seguros.

4 Comentarios (feed)

  1. Gravatar de alex alex nos comenta:

    El problema en edit-comments.php sólo está presente en la rama 2.1 (por la paginación), pero los de akismet y mt.php (Movable type) se pueden reproducir en versiones anteriores.

    >este tío se pasa media vida buscando fallos a
    >WordPress y a Menéame

    Nah, en realidad me topé por casualidad con estos bugs mientras desarrollaba un plugin, lo demás fue hacer una simple búsqueda.

    Saludos

    Martes, 6 de Marzo/2007 @ 4:12

  2. Gravatar de Armonth Armonth nos comenta:

    Alex di que sí… una de las herramientas más sutiles para encontrar bugs es el “grep” :D

    Offtopic: ¿otro que no duerme?…

    Martes, 6 de Marzo/2007 @ 4:22

  3. Gravatar de alex alex nos comenta:

    Tienes mucha razón :D

    > Offtopic: ¿otro que no duerme?…

    Me parece que estamos como a 6 horas de diferencia (GMT-5)

    Martes, 6 de Marzo/2007 @ 4:28

  4. Gravatar de emarts emarts nos comenta:

    Ese Buayacorp, siempre preocupado en la seguridad del prójimo, y mas peruano que el ceviche ;-)

    Por cierto, no es siempre necesario eliminar el codigo, tambien puedes reemplazar el feed que viene por defecto por uno de tu preferencia (yo estoy usando ahorita el de es.weblogstools.com)

    PD: Lo de la lista de anime fue la version 1.0, si ya se que soy medio despistado en ese asunto y me faltaron muchas “diosas” ;) jejej :P

    Martes, 6 de Marzo/2007 @ 4:44

Comentarios cerrados