Categories
Seguridad Web WordPress

WordPress: sitios que permiten la suscripción de usuarios y el “robo” de emails

Un nuevo problema de seguridad permite que un usuario registrado obtenga la lista completa de usuarios, roles y correos electrónicos del blog o sitio afectado que haga uso de WordPress. El proceso para recuperar esta lista es bastante sencilla y sólo basta invocar al método wp.getAuthors a través de la interface XMLRPC.

Muchas veces he querido habilitar la suscripción de usuarios en este blog por diferentes motivos: problemas con el spam, evitar que se muestre publicidad a lectores habituales, etc; pero todas esas veces tuve que desistir porque de un modo u otro he ido descubriendo que esta opción puede "costarme caro" si es que algún usuario malintencionado tiene algo en contra mía. 😀

Entre los problemas que recuerdo haber reportado y que requerían del registro de usuarios activado tenemos los siguientes:

Volviendo al tema central, este problema de seguridad del que había comentado meses atrás en el blog de David, permite que un usuario registrado obtenga la lista completa de usuarios, roles y correos electrónicos del blog o sitio afectado. El proceso para recuperar esta lista es bastante sencilla y sólo basta invocar al método wp.getAuthors a través de la interface XMLRPC:

php:

<?php
include './class-IXR.php';

$client = new IXR_Client('http://dominio.com/xmlrpc.php');
$client->query('wp.getAuthors', 1, 'alex', '1234');

$response = $client->getResponse();

print_r($response);
?>

Luego de reportar este problema leve en wordpress.com (y por consiguiente cualquier otro sitio basado en WordPress MU), ya existe un ticket con parche incluido que pone fin a esta situación y es recomendable que actualicen aquellos sitios que tengan la suscripción de usuarios habilitada.

14 replies on “WordPress: sitios que permiten la suscripción de usuarios y el “robo” de emails”

Estimado webmaster, quisiera activar esta feature en mi blog pero con seguridad y corríjame más no veo otra otra intervención en el track que quitar esta línea de la versión actual;

return(get_users_of_blog());

Mi versión es una 2.3.1 actualizada según mi Dashboard y el resto del code no lo veo en el fichero xmlrpc.php, solo esa línea Sr. Ya me dirá si estoy en lo cierto . Ahorita mismo la he quitado y funciona todo ok con registro incluido.

Afectuosos saludos y muchas gracias. J.C

Muchas gracias Alex, corregido. No sé que haríamos sin ti 🙂

Realmente es algo que hemos hablado y le sigo dando vueltas, algún día haré lo mismo que tu porque me evitaré muchos potenciales problemas. Voy a reseñarlo en mi blog.

Felices fiestas para ti y tus lectores !!

Estimado profesor, no gusto de hacer púbicos mis datos así que tampoco los de los leyentes me gusta que queden expuestos pero mis conocimientos en la materia son casi nulos,esto es porque no entiendo que puede ser un cliente XMLRPC o para que fin puedo implantarlo en la Mac o si esto que he eliminado afecta a la conexión del blog.Gracias de nuevo y no le robo más de su valioso tiempo.

Aca ando haciendo testing con varios browsers y todo va ok.Atentamente J.C

Que razón tienes, a mi me ha ocurrido lo mismo... y es que tener un usuario que no eres tu en el blog es como dar acceso local a un servidor... te pueden joder. Son raros las vulns de ejecución de código arbitrario remotamente, pero es mucho más frecuente que con acceso local baste para explotarlo. En lo que respecta al XMLRPC, no sabía que servía para trabajar con esas herramientas que mencionas, por lo que creo que podría deshabilitarlo de alguna forma elegante (Algo de código, a nivel de php, alguna función en especial?)

En lo que es la administración de usuarios, b2evolution sobre el resto de CMS bitacoriles o no.

Para WordPress existe este plugin: Role Manager
im-web-gefunden.de/wordpress-plugins/role-manager/

No está de más recordar: una vez que el panel de administración y la bitácora está debidamente configurada, es conveniente utilizar una cuenta con permisos restringidos: anotar y administrar anotaciones y comentarios, creando una nueva como administrador y después borrar la de defecto (admin).

PD: Álex podría echar un vistazo al susodicho plugin y decirnos si es seguro o no.

Gura: Lo más sencillo para deshabilitar el acceso a xmlrpc.php es utilizar .htaccess o directamente borrar ese archivo. 🙂

Maty: En mi opinión, plugins del tipo "Role Manager" son para activarlos sólo cuando sea necesario. 😉

Maty: En mi opinión, plugins del tipo “Role Manager” son para activarlos sólo cuando sea necesario.

Ya, como cuando tienes una bitácora política con multitud de comentarios por parte de impresentables. Por eso te lo pregunto, porque lo voy a activar en una que migra desde Movable Type a WordPress (mira que insisto en que es mejor y más seguro b2evolution, Serendipity... pero no hay manera).

Hmm, no tengo idea porque necesitas activar ese plugin para lo que comentas -- no creo que tengas la necesidad de modificar muy seguido los permisos de los usuarios o si.

Comments are closed.