PHP en su versión 5 y 7.0 dejarán de tener soporte a finales del año 2018.
Este lenguaje, muy popular en la web, es utilizado por gestores de
contenidos como Wordpress, Joomla, Drupal, etc. En total, se calcula que
cerca del 70% de los portales web puede quedar afectado. Por eso, los
expertos de seguridad recomiendan actualizar a las versiones 7.2.11 y
superiores, o 7.1.23 y superiores.
Adicionalmente se han publicado actualizaciones en PHP 7, que solucionan errores funcionales (bugs)
en las últimas versiones, y evitan que se ejecute código arbitrario.
Afectan, en concreto, a las versiones 7.2 anteriores a la 7.2.11, y a
las versiones 7.1 anteriores a la 7.1.23. En cualquier caso, actualmente
no se han detectado campañas maliciosas que exploten estas
vulnerabilidades.
Descripción
Para seguir disfrutando de actualizaciones de se guridad se recomienda actualizar a las últimas versiones de PHP 7. Hay que tener en cuenta que la versión 7.0 también dejará de tener soporte este diciembre.
Versiones afectdas:
- PHP 7.2 prior to 7.2.11
- PHP 7.1 prior to 7.1.23
Version 7.2.11
Version 7.2.11 & Version 7.1.23
- Bug #76796 (Compile-time evaluation of disabled function in opcache causes segfault).
- Bug #76800 (foreach inconsistent if array modified during loop).
- Bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
- Bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection).
- Bug #74454 (Wrong exception being thrown when using ReflectionMethod).
- Bug #74764 (Bindto IPv6 works with file_get_contents but fails with stream_socket_client).
- Bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
- Bug #75533 (array_reduce is slow when $carry is large array).
- Bug #75696 (posix_getgrnam fails to print details of group).
- Bug #76480 (Use curl_multi_wait() so that timeouts are respected).
- Bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
- Bug #76846 (Segfault in shutdown function after memory limit error).
- Bug #76901 (method_exists on SPL iterator passthrough method corrupts memory).
Además recintemente se ha publicado actualizaciones a PHP 7 que solucionan varios errores funcionales (bugs) en las últimas versiones. Los errores funcionales afectan a las versiones PHP 7, en concreto a las versiones 7.2 anteriores a la 7.2.11, y en las versiones 7.1 anteriores a la 7.1.23.
Para solucionar la vulnerabilidad se procederá a actualizar a las versiones actualizadas (7.2.11 y superiores, o 7.1.23 y superiores).
En relación a estas actualizaciones, el Center of Internet Security (CIS) ha emitido un comunicado en que asegura que los bugs representan multiples vulnerabilidades la más severa de las que podría ser utilizada para la ejecución de código arbitrario en el contexto de la aplicación afectada o resultar en una condición de denegación de servicio. Dependiendo de los privilegios de la aplicación afectada, un atacante podría instalar programas, comprometer información o incluso crear nuevas cuentas de usuario.
Impacto
PHP es un lenguaje muy popular en la web, utilizado, entre otros, para gestores de contenido como Wordpress, Joomla, Drupal, etc. Hay estadísticas globales que sitúan la adopción de PHP al 78,9% de todos los portales web de los que la fuente ha podido determinar la tecnología usada.Se calcula que cerca del 70% del s portales web globales perderá el soporte si no se migra.
De entre las múltiples versiones de PHP, las versiones de PHP 5 son las más extendidas, aunque también dejarán de tener soporte en breve, concretamente a finales de año. El hecho de que estas versiones dejen de estar soportadas puede suponer un riesgo creciente en las aplicaciones que hagan uso, ya que dejarán de recibir actualizaciones de seguridad de la comunidad. Para seguir disfrutando de actualizaciones de seguridad se recomienda migrar a las últimas versiones de PHP 7
Escalada de privilegios con WooCommerce en WordPress
Un conjunto de vulnerabilidades en WordPress y WooCommerce permiten una escalada de privilegios que podría afectar a los más de 4 millones de usuarios de este plugin de WordPress.WooCommerce es un complemento de comercio electrónico muy popular para WordPress, instalado por alrededor de 4 millones de usuarios y desarrollado por Automattic. La vulnerabilidad está relacionada con el método en el que interactúa el plugin WooCommerce con WordPress, permitiendo a un atacante con acceso a una cuenta de administrador de la tienda (Shop Manager) hacerse con el control del sitio web completo.
El problema es que los roles de los usuarios se almacenan en la base de datos y existen incluso si el complemento está deshabilitado. Esto significa que si WooCommerce se deshabilitó por algún motivo, la comprobación del privilegio del meta que restringe a los administradores de la tienda de los administradores de edición no se ejecutaría y el comportamiento predeterminado de permitir a los usuarios con edit_users editar cualquier usuario, incluso los administradores, se produciría. Esto permitiría a los gerentes de la tienda actualizar la contraseña de la cuenta de administrador y luego controlar todo el sitio.
El problema es que los roles de los usuarios se almacenan en la base de datos y existen incluso si el complemento está deshabilitado. Esto significa que si WooCommerce se deshabilita por algún motivo, la comprobación del privilegio del meta que restringe a los administradores de la tienda de los administradores de edición no se ejecutaría y el comportamiento predeterminado de permitir a los usuarios con edit_users editar cualquier usuario, incluso los administradores, se produciría. Esto permitiría a los gerentes de la tienda actualizar la contraseña de la cuenta de administrador y luego controlar todo el sitio.
Por defecto, solo los administradores pueden deshabilitar los complementos. Esta vulnerabilidad permite a los administradores de tiendas eliminar cualquier archivo en el servidor que se pueda escribir. Al eliminar el archivo principal de WooCommerce, woocommerce.php, WordPress no podrá cargar el complemento y luego lo deshabilitará.
La vulnerabilidad de eliminación de archivos se produjo en la función de registro de WooCommerce. Los registros se almacenan como archivos .log en el directorio wp-content. Cuando un gerente de tienda quiere eliminar un archivo de registro, envía el nombre de archivo como un parámetro GET. Como muestran los siguientes fragmentos de código, esto se maneja de manera insegura.
- woocommerce/includes/admin/class-wc-admin-status.php
class WC_Admin_Status { public static function remove_log() { ⋮ $log_handler = new WC_Log_Handler_File(); $log_handler->remove(wp_unslash($_REQUEST['handle'])); }
- woocommerce/includes/log-handlers/class-wc-log-handler-file.php
El problema es que el nombre de archivo ($ handle) se agrega al directorio Log (wp-content / wc-logs /) y luego se pasa a unlink (). Al configurar $ handle ../../ plugins / woocommerce-3.4.5 / woocommerce.php, el archivo wp-content / wc-logs /../../ plugins / woocommerce-3.4.5 / woocommerce.php sería eliminado, lo que provoca que WooCommerce se deshabilite.class WC_Log_Handler_File extends WC_Log_Handler { public function remove($handle) { ⋮ $file = trailingslashit(WC_LOG_DIR) . $handle; ⋮ unlink($file);
Actualmente se ha resuelto de forma parcial la vulnerabilidad en la versión 3.4.6 de WooCommerce, que apareció el 11 de octubre, limitando la capacidad de modificar los usuarios por parte del administrador de la tienda a sólo aquellos que tienen la función de cliente de forma predeterminada y añadiendo una lista blanca de funciones que se puedan editar de esta forma.
Fuentes:
No hay comentarios:
Publicar un comentario