Hace tres sábados recibí un correo del equipo de Plugins de WordPress, habían retirado a Import Users From CSV With Meta del repositorio de plugins, por un problema de seguridad. La verdad es que de primeras además de la preocupación, me quedé algo confundido porque hacían referencia a un problema que no era de ese plugin sino de otro. En concreto hablaban de este artículo de un bug de seguridad en WooCommerce Checkout Manager. Entendí que sería un error el enlace y me puse a buscar en ese blog dedicado a la seguridad en WordPress (en los plugins de WordPress más concretamente) llamado Plugin Vulnerabilities. Y en efecto, había un enlace previo donde sí que aparecía un error de seguridad (ya resuelto) de este plugin.
¿Cómo empezó todo?
Unos días antes, un usuario del plugin había encontrado la posibilidad de ejecutar código JavaScript desde el CSV. Es decir, alguien que usara el plugin, podía usar un CSV diseñado específicamente para atacar, de forma que se ejecutara código JS tras la importación. La verdad es que el peligro de esta brecha era mínimo porque este plugin solo lo usan administradores con CSV propios, pero aún así, rápidamente tapé el problema que podía dar lugar al ataque de tipo XSS.
Al hacer el commit indiqué que había resuelto un problema de seguridad.
Escriben un post sobre otro error de seguridad sin avisarnos
Aquí está lo que considero más grave. Si encuentras un problema de seguridad, lo primero es avisar a los desarrolladores para que lo arreglen, y luego publicar. Parece que en Plugin Vulnerabilities eso no lo tienen en cuenta, se excusan diciendo algo así como que en WordPress.org no les dejan escribir porque reportan vulnerabilidades en los foros (lógico). Deberían buscar una forma de contacto en el plugin (en este caso es bien sencillo además).
El artículo sale, algún responsable de plugins de WordPress.org lo lee y directamente cierran el plugin.
¿Cómo volver a conseguir que pongan el plugin otra vez disponible?
Básicamente hace falta hacer dos cosas:
Si enviáis plugins al repositorio, sabréis que en la revisión inicial son verdaderamente concienzudos revisando una serie de cosas, sin embargo, una vez te autorizan el plugin esa revisión desaparece, y en este punto te piden revisar todo de nuevo. Me resulta curioso, porque cuando subí este plugin hace años, las revisiones eran muy laxas (los últimos que he subido, bien es cierto que me han pedido blindar).
Así que nada, tras unos días tapando agujeros y enviando correos y recibiendo respuestas, otra vez el plugin volvió a estar disponible y todos contentos de nuevo.
Concluyendo
Así que bueno, el resumen de todo esto es lo siguiente:
Si te ha pasado algo parecido o necesitas ayuda para hacer más seguros tus plugins, dínoslo. A diferencia de otros plugins, este de importar usuarios no es rentable por sí mismo, pero es un pequeño gran proyecto de software libre que va camino del millón de descargas y con sus 30.000 instalaciones activas (camino de 40.000); pues cada minuto que estaba fuera del repositorio nos dolía.Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.
Por qué falla Bizum WooCommerce: detecta errores de credenciales, firma, entorno y pedidos para recuperar…
Elige un plugin gratuito Redsys WordPress con criterio: compatibilidad, seguridad, configuración bancaria y límites para…
¿Qué necesito para activar CECA Online? Revisa contrato bancario, datos del terminal, seguridad, pruebas y…
Aprende a elegir una pasarela para suscripciones en WordPress: revisa recurrencia, compatibilidad, seguridad y soporte…
Elige un plugin Bizum WordPress compatible con tu flujo de venta, configura la pasarela bancaria…
Aprende cómo aceptar CECA en reservas WordPress, configurar pagos seguros y confirmar cada reserva sin…