Las versiones anteriores a la 4.5.1 del plugin Software License Manager para WordPress presentan una vulnerabilidad explotable de falsificación de solicitudes entre sitios (CSRF). Se puede engañar a cualquier usuario que haya iniciado sesión en un sitio con la extensión vulnerable para que, al hacer clic en un enlace, elimine una entrada de la tabla de la base de datos de dominios registrados del plugin. El enlace puede distribuirse por correo electrónico o publicarse en un sitio web que sea probable que visite la víctima.
La buena noticia es que no se puede hacer mucho más aprovechando esta debilidad. Además, el atacante necesita conocer de antemano el ID del dominio que desea eliminar de la base de datos.
Aun así, recomendamos a quienes utilicen la versión 4.5.0 o una anterior del plugin que actualicen lo antes posible.
Detalles
- Nombre del plugin: Software License Manager
- Slug: software-license-manager
- URI del plugin: https://wordpress.org/plugins/software-license-manager/
- Proveedor: Tips and Tricks HQ
- Versiones vulnerables: <= 4.5.0
- Corregido en la versión: 4.5.1
- Referencias: CVE-2021-24711, CWE-352, CVSS: 7.6, CWSS: 40.7
La vulnerabilidad se debe a que el controlador de la acción AJAX del_reistered_domain (sic) no comprueba el nonce ni verifica si el usuario que ejecuta la acción está autorizado.
add_action( 'wp_ajax_del_reistered_domain', 'slm_del_reg_dom' );
function slm_del_reg_dom() {
global $wpdb;
$reg_table = SLM_TBL_LIC_DOMAIN;
$id = sanitize_text_field( $_GET['id'] );
$ret = $wpdb->query( "DELETE FROM $reg_table WHERE id='$id'" );
echo ( $ret ) ? 'success' : 'failed';
exit( 0 );
}
Siempre recomendamos comprobar el nonce en todas las acciones y autorizar al usuario verificando sus capacidades en todos los controladores de acciones no públicas.
El lector atento también podría preguntarse si aquí existe una vulnerabilidad de inyección SQL. Se espera que $_GET['id'] sea un parámetro numérico, pero nunca se valida. Sin embargo, como WordPress escapa las comillas de los parámetros de la solicitud y la función sanitize_text_field elimina cualquier octeto con codificación URL, este uso no debería ser explotable, aunque eso no significa que esté libre de errores.
La versión 4.5.1 corrige ambos problemas.
Recomendaciones
Recomendamos a quienes gestionen un sitio con una versión anterior a la 4.5.1 del plugin Software License Manager para WordPress que lo actualicen lo antes posible.
Te recomendamos encarecidamente que tengas un plan de seguridad para tu sitio que incluya análisis de malware y copias de seguridad. Jetpack Security es una excelente opción de seguridad de WordPress para garantizar la seguridad de tu sitio y de tus visitantes.
Cronología
2021-09-01: El equipo de Jetpack Scan descubre la vulnerabilidad
2021-09-07: Se informa a WPScan y se contacta con el proveedor.
2021-09-10: Se recibe del proveedor la versión corregida y se verifica.



