Releases
Posted By

WP Cerber Security 9.9.3


English version: WP Cerber Security 9.9.3


De un vistazo

Hemos desarrollado la versión 9.9.3 priorizando la corrección en los aspectos más importantes cuando algo falla. Esta versión corrige el comportamiento de WP Cerber ante fallos graves de PHP, soluciona el problema de coincidencia de rangos IPv6 en las listas de control de acceso y permite que los avisos de administración se muestren en tu idioma.

Aspectos destacados

  • Los fallos críticos de PHP se gestionan correctamente de nuevo. Cuando nuestro registro de errores estaba activo, un fallo no detectado podía silenciar la página de error crítico de WordPress y el correo electrónico del modo de recuperación. Hemos solucionado ese problema.
  • Diagnósticos fiables. El error fatal que provocó la finalización de una solicitud ahora se registra de forma fiable en el registro de Traffic Inspector, lo que garantiza la precisión de su análisis forense.
  • Los rangos IPv6 se comportan de forma determinista. Los rangos válidos en notación de guiones o comodines ya no se rechazan, y los límites de los rangos ahora coinciden de forma inclusiva.
  • Avisos de administración en tu idioma. Los mensajes generados por solicitudes en segundo plano no supervisadas ahora se traducen en el momento en que los lees, no en el momento en que se crean.

Cambios de seguridad

Se ha corregido la coincidencia de rangos IPv6 en la ACL. Nuestro analizador de rangos comparaba los fragmentos de menor orden de una dirección IPv6 incluso cuando los fragmentos iniciales ya habían establecido el orden correcto. Como resultado, algunos rangos IPv6 perfectamente válidos, especificados con guiones o comodines, se rechazaban al agregar una entrada a la lista de control de acceso o al filtrar registros en el visor de registro de actividad y tráfico. Ahora, el analizador compara los fragmentos restantes solo cuando ambos límites comparten el mismo fragmento inicial, mientras que los rangos invertidos y de longitud cero siguen siendo rechazados. Su ACL ahora acepta cualquier rango válido que le proporcione.

Los límites de los rangos IPv6 ahora son inclusivos. Hemos corregido la comparación de límites para que la primera y la última dirección de un rango IPv6 se traten como parte del mismo. Las decisiones de acceso en todo el rango ahora son deterministas, incluidas las direcciones de borde.

Experiencia administrativa

El mensaje sobre el problema de envío de correo electrónico ahora se traduce en tiempo de renderizado. En un sitio web que no esté en inglés, el aviso sobre un correo electrónico fallido podía aparecer en el idioma de la solicitud que no se envió correctamente, que suele ser una solicitud no supervisada, como un informe programado o una alerta activada por un visitante. El mensaje ahora se muestra en el idioma del administrador en el momento en que se visualiza.

Los mensajes de recuperación de configuración ahora se localizan correctamente. Si la configuración del plugin se corrompía en un sitio web que no estaba en inglés, el informe de recuperación se mostraba al administrador sin traducir. Esto tampoco nos convencía. Ahora, el mensaje se reconstruye y traduce al mostrarse, en el idioma del administrador que lo lee.

Los mensajes del widget de disponibilidad recibieron una implementación i18n adecuada. Varios mensajes del widget carecían de localización y no se podían traducir. Ese problema ya está solucionado.

Mejoras en la confiabilidad

Capa de base de datos más rápida en rutas de acceso frecuente. Redujimos la sobrecarga de validación de identificadores en nuestro generador de consultas reemplazando las comprobaciones basadas en expresiones regulares con un escaneo de caracteres ligero. Las operaciones de base de datos que se ejecutan con frecuencia ahora son más eficientes, y las reglas de validación y el comportamiento de las consultas existentes se conservan por completo.

Gestión más inteligente de los problemas reportados. El registro que gestiona las notificaciones de problemas del administrador ahora puede reevaluar cada problema justo antes de que se muestre, actualizarlo o descartarlo por completo una vez resuelto. Es importante destacar que diseñamos primero la ruta de error: un error durante ese paso nunca oculta un problema.

Pruebas de compatibilidad. Probamos esta versión con PHP 7.4.33, 8.0.30, 8.1.34, 8.2.33, 8.3.33, 8.4.24 y 8.5.9, y con WordPress 5.8.14, 6.6.6, 6.7.6, 6.8.7, 6.9.6 y 7.0.3.

Corrección de errores

Los fallos fatales no controlados ya no eluden la recuperación de WordPress. Esta es la corrección más importante de la versión. Cuando el registro de errores estaba activo y ocurría una excepción no controlada, como una excepción no gestionada, un error de tipo o un error de análisis, nuestro gestor interrumpía el procesamiento normal de errores fatales de PHP. Esto podía impedir que WordPress mostrara su página de error crítico, enviara el correo electrónico del Modo de recuperación o revirtiera una edición de PHP defectuosa realizada a través del editor de temas o plugins integrado. Los fallos afectados también podían no aparecer en debug.log cuando WP_DEBUG_LOG estaba habilitado. Los errores de PHP no fatales nunca se vieron afectados por este fallo.

Ahora, los errores fatales llegan de forma fiable al registro del Inspector de Tráfico. No todos los errores de PHP se registraban. Nuestras rutinas de cierre realizan operaciones de base de datos y de red que pueden generar diagnósticos adicionales, y dado que PHP solo conserva una única ranura para el último error, una advertencia posterior podría reemplazar el error fatal que finalizó la solicitud. Ahora, capturamos el último error al inicio de nuestra función de devolución de llamada de cierre, por lo que nuestras tareas de mantenimiento ya no pueden sobrescribirlo. En aras de la transparencia: las funciones de devolución de llamada de cierre registradas por otro código antes del nuestro aún pueden modificar el último error antes de que se ejecuten.

La navegación rápida ya no genera advertencias de PHP. Los parámetros de consulta con múltiples valores podían provocar comparaciones de cadenas escalares en el bloque de navegación rápida, generando advertencias Array to string conversion . Dependiendo de la configuración de errores de PHP, estas advertencias podían saturar los registros, aparecer en la salida del panel de administración o corromper una respuesta AJAX.

En resumen

La versión 9.9.3 hace que los fallos sean predecibles y los diagnósticos fiables. Los errores graves ahora llegan tanto a las herramientas de recuperación de WordPress como a nuestros registros, por lo que el análisis inicial parte de datos precisos. Los rangos de IPv6 funcionan correctamente en la ACL y en los filtros de registro. Los avisos de administración aparecen en tu idioma, justo cuando y donde los lees.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.