Vulnerabilidad de Inyección de código SQL en WordPress 3.0.1 y versiones anteriores

Escrito el 7 diciembre 2010, 02:17am en Seguridad ,Wordpress

Tagged with: , ,

Recientemente fue descubierta una vulnerabilidad de inyección de código SQL en WordPress 3.0.1 y versiones anteriores. Al contrario de lo que dicen algunos sitios esta falla no afecta a la versión 3.0.2 ni tampoco a WordPress 3.1 alpha.

Para poder explotar esta vulnerabilidad el atacante necesita contar con permisos de autor,  eso quiere decir que debería poder publicar/editar entradas en el blog, lo que reduce un poco las probabilidades de una intrusión aunque es recomendable comprobar los permisos de los usuarios que estén registrados en su sitio.

Inyección de código SQL en WordPress 3.0.1

Para solucionar este problema se recomienda actualizar a la ultima versión disponible, la 3.0.2, que ya ha sido actualizada y no es vulnerable a esta falla.

De todas maneras quienes quieran realizar el parche manualmente, pueden actualizar el archivo “wp-includes/comment.php”, mas precisamente en 1644 en WordPress 3.0.1, en donde podrán encontrar el error dentro de la función “do_trackbacks”.

Código a buscar:

			if ( !in_array($tb_ping, $pinged) ) {
				trackback($tb_ping, $post_title, $excerpt, $post_id);
				$pinged[] = $tb_ping;
			} else {
				$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_ping', '')) WHERE ID = %d", $post_id) );
			}

Reemplazar por:

			if ( !in_array($tb_ping, $pinged) ) {
				trackback($tb_ping, $post_title, $excerpt, $post_id);
				$pinged[] = $tb_ping;
			} else {
				$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s, '')) WHERE ID = %d", $tb_ping, $post_id) );
			}

Solo para recalcar, este error fue parte de las correcciones aplicadas en la versión 3.0.2, por lo que los sitios especializados en WordPress deberían chequear el changelog de las versiones antes de sembrar el pánico 😉

Enlaces relacionados:

WordPress: Information Disclosure via SQL Injection Attack
http://blog.sjinks.pro/wordpress/858-information-disclosure-via-sql-injection-attack/

Parche aplicado en la versión 3.0.2 (Changeset 16625)
http://core.trac.wordpress.org/changeset/16625

Vía Geekeries.fr

Comments (1)

  1. Gustavo - MGB Hosting Argentina — mayo 4, 2011 a las 5:39 am

    Una de las cosas que pasa en el entorno del web hosting es que los usuarios se quedan con la primera version de wordpress que instalan. Luego al descubrirse alguna vulnerabilidad en su sitio no entienden como alteraron sus datos. Y bue…hay que aprender !

Los comentarios están cerrados para este artículo.