Una reciente actualización de seguridad en el plugin de WordPress Advanced Custom Fields (ACF), ha puesto en alerta a más de 2 millones de usuarios. Esta actualización, versión 6.2.5, busca solucionar una vulnerabilidad cuyos detalles y severidad son aún parcialmente desconocidos.
¿Qué implica esta vulnerabilidad?
Según la fuente, la vulnerabilidad necesita de un acceso a nivel de contribuyente o superior, lo que complica potencialmente los ataques. Sin embargo, los detalles sobre los posibles exploits o el alcance del daño que un atacante podría causar son aún inciertos.
Potenciales cambios críticos en la versión 6.2.5
La nueva actualización introduce cambios significativos en cómo se procesan y se muestran los contenidos HTML potencialmente inseguros. Aunque mejora la seguridad, podría afectar sitios que usan shortcodes para mostrar HTML complejo.
Tags como <script>
y <iframe>
serán eliminados automáticamente, aunque esto es personalizable según las necesidades de cada sitio.
Una actualización de seguridad inusual
Lo inusual de esta actualización es su naturaleza pública y detallada, debido a los cambios críticos que podría implicar. A diferencia de las actualizaciones típicas, ACF ha optado por advertir a los usuarios sobre posibles problemas derivados de la solución.
Además, se ha programado otra actualización de seguridad para febrero de 2024, con el objetivo de dar a los usuarios más tiempo para prepararse y mitigar otros posibles cambios críticos.
Descripción de la vulnerabilidad
Esta necesaria actualización responde a la detección de una vulnerabilidad que permitiría a los usuarios con roles de contribuyente insertar código malicioso. ACF 6.2.5 buscará detectar y eliminar HTML inseguro en las salidas de los shortcodes.
Próximos cambios en la función the_field()
Las funciones the_field()
y the_sub_field()
sufrirán revisiones de seguridad en las versiones 6.2.5 y 6.2.7 respectivamente. Se espera que incorporen medidas de seguridad por defecto para prevenir la salida de contenido potencialmente dañino.
Guía para desarrolladores para uso seguro de ACF
Se aconseja a los desarrolladores abordar la salida de HTML con precaución. Para casos que requieran salida de HTML sin filtrar, se recomienda el uso de echo get_field()
. En otros casos, se deberían aplicar funciones de escape adecuadas como wp_kses_post
.
ACF también ha introducido modificaciones en el manejo de tipos de campos, especialmente para campos que tradicionalmente producen HTML, como oEmbed y WYSIWYG. Estos cambios buscan equilibrar la necesidad de salida de HTML con las consideraciones de seguridad.