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

Autor: Armonth | El martes 06 de marzo del 2007 @ 03:57.

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 (blog desaparecido), 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) además de realizar una interesante reflexión sobre el uso de plugins y que no se dan recomendaciones para hacer plugins seguros.

Comentarios