Actualización de seguridad crítica para WordPress (4.7.5)

Esta semana se han juntado las actualizaciones de seguridad de Joomla! y de WordPress. La versión 4.7.5 de WordPress corrige seis fallos de seguridad y por esta razón conviene aplicarla lo más pronto posible. Los fallos arreglados afectan a la clase HTTP, al API XML-RPC y a varios elementos con vulnerabilidades de tipo XSS y CSRF. Podéis ver todos los detalles en la nota de lanzamiento de la versión 4.7.5.

En la introducción utilizo varias abreviaturas que pueden resultar confusas. Las explicaré por encima para que quede más claro.

Logo de WordPress

Logo de WordPress

XML-RPC

Las aplicaciones Web pueden permitir que un tercero acceda a funciones concretas desde el exterior. En el caso de WordPress un ejemplo sería la aplicación de Android / iOS que permite escribir artículos sin entrar en la Web. Para lograrlo se utiliza el protocolo XML-RPC. Los datos se codifican en XML y se transmiten mediante una conexión segura al servidor. La aplicación ejecuta una llamada a un API del servidor (RPC) y le pasa los datos para que haga una acción.

Al permitir que un tercero ejecute código desde el exterior es obligatorio validar la información que se le pasa a WordPress. Si se produce algún error en la validación y los datos están modificados, pueden aparecer los problemas. Dos de las vulnerabilidades que se corrigen en la versión 4.7.5 afectan a XML-RPC.

XSS y CSRF

En una vulnerabilidad XSS el atacante consigue que la Web atacada incluya un archivo JavaScript previamente preparado. Los usuarios que visiten la Web ejecutarán el archivo JavaScript y pueden ser infectados por malware. Supongamos una Web que permite comentarios de los usuarios y no los valida de forma adecuada. El atacante introduce una llamada al archivo JavaScript en su comentario y cualquier usuario que visite la página lo ejecuta.

Para evitar este problema se aplican validaciones a los datos que introduce el usuario. Cuando se produce un error en la validación, el atacante puede introducir el código y la Web lo acepta. Dos vulnerabilidades de la versión 4.7.5 son de este tipo.

La vulnerabilidad CSRF actúa de forma diferente. Un usuario está validado en una Web y tiene unos permisos asociados. Con un exploit de este tipo, se ejecuta un código que la Web interpreta como legítimo al provenir de un usuario identificado. En la versión 4.7.5 hay una vulnerabilidad de este tipo.

¿Es WordPress seguro?

Esta pregunta tiene trampa. Puede parecer que si una aplicación Web recibe actualizaciones de seguridad cada cierto tiempo es una aplicación insegura. Cualquier aplicación que tenga un tamaño importante tiene fallos en forma de bugs normales y bugs de seguridad. Lo importante en este punto no es que se detecten fallos de seguridad sino lo rápido que se arreglan.

Cuando se detecta un fallo de seguridad de WordPress, se reporta en el siguiente enlace. La persona que lo encuentra se compromete a no publicar los detalles del fallo de seguridad hasta que se soluciona. De esta forma se minimizan los riesgos y la aplicación es cada vez más segura.

Fotografía de Ian Campbell
https://www.flickr.com/photos/126563708@N07/

Conclusiones

Una aplicación Web que esté en Internet va a recibir ataques. Es algo que se cumple en el 100% de los casos por una razón muy sencilla. Si el atacante tiene éxito puede acceder a los recursos del servidor. Puede parecer poca cosa conseguir acceso a los recursos de un servidor pero si creas una red zombi con miles de servidores la cosa cambia.

Para minimizar los riesgos uno de los primeros pasos es tener actualizada la aplicación Web. Hay otras medidas en forma de extensiones o configuraciones del servidor que también pueden minimizar los fallos de seguridad. Si una función no se usa, por ejemplo XML-RPC, conviene desactivarla. De esa forma se eliminan vectores de ataque que pueden comprometer una Web.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *