La vulnerabilidad target=”_blank” y la solución rel=”noopener noreferrer” de WordPress

Desde la versión 4.7.4, WordPress incorpora la nueva versión del editor TinyMCE incluido, que soluciona la conocida como vulnerabilidad target=”_blank”, y lo hace añadiendo automáticamente a este tipo de enlaces la relación rel=”noopener noreferrer” ¿te habías dado cuenta?

Cuando surgió el debate en el artículo sobre las novedades de WordPress 4.7 y luego posteriormente lo abrió Miguel en los foros de soporte me puse a investigar un poco así que vamos a poner algo de luz en este asunto.

¿Qué es la vulnerabilidad target=”_blank”?

Esta vulnerabilidad, también conocida como reverse tabnabbing, un tipo de ataque de phishing en el que el atacante reemplaza la pestaña legítima, y fiable, por un documento malicioso usando el selector window.opener.location.assign() cuando se accede mediante un enlace de apertura en nueva ventana/pestaña, o sea del tipo target=”_blank”.

Lo que hace el atacante es, usando el selector window.opener.location, llevar al usuario a alguna página falsa, que simula ser la original, o ejecuta algún JavaScript en la página de apertura en la que confía el usuario.

Explicado de manera sencilla, con el reverse tabnabbing, cuando haces clic en una web para abrir una página nueva, y se abre en una nueva pestaña, si luego vuelves a la web original, sin que tú te des cuenta se cambia automáticamente esa página falsa que simula ser la buena.

Parece la página web original que estabas viendo pero tiene una url distinta (que se puede ver claramente). El problema es que la mayoría de los usuarios no se dan cuenta de que la URL ha cambiado, ya que no se suelen fijar casi nunca, menos si piensan que están en una web en la que confían, por ejemplo esta.

Luego, por ejemplo, la página web falsa les pedirá que accedan de nuevo a su cuenta, y claro, pero ya no estás donde te creías que provienes sino en una copia de la pestaña original en la que hay otro documento, en este caso malicioso. Si introduces tus datos ya te has entregado a los hackers y harán lo que sea con tus credenciales.

En esta página tienes un ejemplo (no malicioso) del reverse tabnabbing por si quieres probarlo en tus carnes sin peligro.

¿Qué hace la relación rel=”noopener noreferrer”?

El modo de evitar la vulnerabilidad target=”_blank”reverse tabnabbing es añadir a tus enlaces que abren en nueva ventana/pestaña la relación de enlace rel=”noopener”, y como el navegador Firefox no reconoce esta relación sumarle la relación noreferrer, a fin de cuentas, añadiendo esto: rel=”noopener noreferrer”.

De este modo, para evitar la vulnerabilidad, tu enlace externo debería ser algo así:

De este modo se elimina la posibilidad de aplicar la citada vulnerabilidad. Sencillo ¿no? Lo malo es si tienes que ir añadiendo esto a cada enlace externo uno a uno, pero usamos WordPress ¿verdad?

¿Afecta al SEO añadir noopener noreferrer?

Una pregunta que ha surgido en los foros y aquí mismo en los comentarios es si esto afectará en algo, por ejemplo, a los enlaces que tenga el atributo nofollow pues los modifica añadiéndoles los atributos noopener noreferrer.

Me refiero a que si tenías un enlace de este tipo en una entrada …

Si la actualizas pasará a ser así:

Y la misma duda ha surgido en general, si añadir estas relaciones de enlace afecta en algo al SEO.

Pues no, según han respondido desde Google a preguntas de webmasters es un simple enlace, no añade ni quita ni afecta el posicionamiento a los enlaces, tengan nofollow o no, a los que se añada el noopener noreferrer.

¿Cómo soluciona esta vulnerabilidad WordPress?

Como comenté al principio del artículo, WordPress, en la versión 4.7.4, incorporó la actualización del editor incluido TinyMCE que soluciona esta vulnerabilidad añadiendo automáticamente la relación rel=”noopener noreferrer” a todos los enlaces con target=”_blank”, tanto a los nuevos contenidos como a los existentes si los abres para editarlos, una solución bastante efectiva.

Eso sí, que quede claro que WordPress/TinyMCE solo añade la relación noopener noreferrer en los enlaces que tú decidas que abran en ventana/pestaña nueva, o sea, en los que hagas esto:

¿Y si no quiero que WordPress me proteja de la vulnerabilidad reverse tabnabbing o como se llame?

Si prefieres vivir peligrosamente puedes desactivar esta funcionalidad del editor TinyMCE de WordPress añadiendo el siguiente código a tu plugin de utilidades o al archivo functions.php del tema hijo activo, pero NO LO HAGAS:

Entonces ¿qué hago?

Nada, en serio. El hecho de que se añada la relación rel=”noopener noreferrer” a los enlaces que abren en ventana/pestaña nueva es una funcionalidad de seguridad que te protege a ti y tus visitantes de una vulnerabilidad grave, de robo de información, y el hecho de que WordPress/TinyMCE nos protejan de esto es bueno.

Más información:

Valora este artículo para mejorar la calidad del blog ...

FlojitoNo está malEstá bienMe ha servidoFantástico (26 votos, promedio: 4,85 de 5)
Cargando…

Autor: Fernando

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran.

Autor del libro WordPress – La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

LOS BURÓCRATAS DE LA UE ME EXIGEN QUE TE DIGA QUE SI VISITAS AYUDA WORDPRESS PUEDES RECIBIR ALGUNA COOKIE. AQUÍ NO HAY COOKIES DE PUBLICIDAD, COMO LAS QUE SI TE DEJAN GOOGLE, AMAZÓN Y MONTÓN DE SITIOS, SIN AVISAR, PERO EL QUE TE TENGO QUE AVISAR SOY YO. LAS COOKIES QUE TE DEJA AYUDA WORDPRESS SON PARA FACILITARTE LA NAVEGACIÓN, COMPARTIR Y COMENTAR. SI NO QUIERES RECIBIR COOKIES PUEDES NAVEGAR EN MODO PRIVADO, ABANDONAR ESTE SITIO Y PERDERTE EL CONTENIDO GRATIS QUE COMPARTO CADA DÍA SOBRE WORDPRESS O IRTE A UNA ISLA DESIERTA PARA VIVIR AISLADO DEL MUNDO, ESO SÍ, SIN COOKIES. O SINO, SIMPLEMENTE CIERRA ESTA VENTANA COÑAZO Y SIGUE DISFRUTANDO DEL BLOG. SI TIENES CURIOSIDAD SOBRE ESTO DE LAS COOKIES TE DEJO UN ENLACE >> MÁS INFORMACIÓN

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar