Roles de usuario de WordPress: cada administrador de más es una puerta de entrada
Los roles de usuario de WordPress importan más desde que, en septiembre de 2026, WordPress 7.1.1 corrigió Click2Shell: un enlace preparado que, abierto por un administrador con la sesión iniciada, instalaba un tema de WordPress.org y ejecutaba código de él. Un firewall no veía nada raro: solo el navegador de un administrador haciendo lo que hacen los administradores. Esos fallos se corrigen; el patrón queda. Todo lo que funciona a través de la sesión de un administrador funciona a través de cada cuenta de administrador de tu sitio, así que cuántas hay, y cuántas pertenecen a gente que ya no inicia sesión, es un ajuste de seguridad en sí mismo. Esta guía explica cómo contarlas, qué rol dar a los demás y cómo mantener la lista corta.
Lo que puede hacer un administrador y nadie más
WordPress asigna a cada cuenta un rol, y a cada rol un conjunto de capacidades. En un sitio individual, solo los administradores pueden instalar plugins y temas, editar su código en los editores integrados, abrir el Personalizador y crear o ascender usuarios (Roles and Capabilities). Instalar un plugin es ejecutar PHP en tu servidor, así que una cuenta de administrador es, en la práctica, el poder de ejecutar cualquier código.
Por eso los ataques apuntan a los administradores: un enlace de phishing, una contraseña reutilizada de la filtración de otro sitio, una cookie de sesión robada, una extensión de navegador maliciosa. Cada uno funciona contra una cuenta. Cuantas más cuentas de administrador hay, más oportunidades de que se use una, y quien consigue una suele dejar otra para volver.
Lo que mostró Click2Shell
Click2Shell, encontrado con Claude Opus 5 y un investigador humano y descrito por pwn.ai, no necesitaba contraseña ni un plugin vulnerable para empezar. Un administrador abría un enlace con la sesión iniciada. El propio JavaScript de WordPress en wp-admin pulsaba Instalar en un tema del directorio oficial, y la vista previa del Personalizador cargaba el PHP de ese tema sin que llegara a activarse. Después, el código del tema instalado daba al atacante una forma de ejecutar el suyo. Los editores y los roles inferiores no podían provocarlo, porque instalar temas requiere capacidades de administrador.
Está corregido en WordPress 7.1.1, publicado el 17 de septiembre de 2026: actualiza si aún no lo has hecho. La lección dura más que el fallo: cuando un ataque viaja en la sesión de un administrador, tu exposición es el número de personas a las que se puede engañar para hacer un clic con esa sesión iniciada.
Administradores que nadie usa
El administrador más arriesgado suele ser aquel en el que nadie piensa: el desarrollador que hizo el sitio, la agencia de hace dos años, una compañera que se fue, una cuenta de prueba. Su contraseña puede estar en una lista de la filtración de otro sitio, y si alguien la usa, nadie lo nota: nadie espera que inicie sesión, así que a nadie le sorprende cuando lo hace.
Una cuenta que no ha iniciado sesión en tres meses no necesita ser administradora. Elimínala, o baja su rol hasta que alguien pida recuperarlo.
Cómo saber si tienes demasiados
En wp-admin, abre "Users" (Usuarios) y haz clic en el filtro "Administrator" sobre la lista. El número a su lado es cuántas cuentas pueden instalar código. La mayoría de los sitios necesitan una o dos: la del propietario y la de quien mantiene el sitio. Para cada una, pregúntate: ¿es una persona real, sigue trabajando en el sitio y necesita instalar plugins o gestionar usuarios, o solo editar páginas, entradas o la tienda?
WordPress no registra cuándo inició sesión alguien por última vez, así que la pantalla de usuarios no te dice quién está inactivo. Necesitas algo que registre los inicios de sesión: un plugin de registro de actividad o de seguridad, los registros de acceso de tu hosting o el plugin de Relvato con su registro de actividad activado (ver abajo). Hasta entonces, pregunta a las personas detrás de cada cuenta.
Ya que estás ahí, abre el perfil de cada administrador y mira "Application Passwords" cerca del final. Cada una inicia sesión en la API REST sin el formulario de acceso ni la autenticación en dos pasos. Revoca las que nadie reconozca antes de cambiar la cuenta.
Da a cada persona el rol mínimo que necesita
En seguridad se llama principio de mínimo privilegio (OWASP). Un editor (Editor) publica y gestiona las entradas y páginas de todos, los comentarios y los medios, pero no puede instalar plugins ni temas, abrir el Personalizador ni gestionar usuarios. En WooCommerce, el "Shop manager" (gestor de la tienda) lleva productos, pedidos, cupones, informes y ajustes de WooCommerce, y puede editar cuentas de clientes, pero no instalar plugins ni temas (roles de WooCommerce). Autor y Colaborador (Author, Contributor) son para quien solo escribe.
Editor es menos poder, no ninguno: en un sitio individual, un editor puede seguir poniendo HTML y JavaScript sin filtrar en el contenido (la capacidad unfiltered_html). Dáselo a personas a las que confiarías la portada.
Para cambiar un rol: "Users" → la cuenta → "Edit" → "Role" → "Update User". Para varias a la vez, márcalas en la lista y usa "Change role to…". Para eliminar una cuenta, elige "Delete": WordPress pregunta qué hacer con su contenido; elige "Attribute all content to" y una cuenta existente, para no perder entradas ni páginas. Hazlo desde tu propia cuenta de administrador y conserva al menos un administrador con el que puedas iniciar sesión.
Mantén la lista corta
Una cuenta con nombre por persona. Un acceso "admin" compartido no se le puede quitar a una persona cuando se va, y los registros no pueden decir quién hizo qué.
Acceso temporal para desarrolladores y soporte. Da a un proveedor el rol de administrador para el trabajo y bájalo o elimínalo al terminar; apunta la fecha en tu calendario al crear la cuenta.
Autenticación en dos pasos en cada administrador que quede, con un plugin de seguridad. No detiene una sesión robada, pero sí una contraseña reutilizada.
Una revisión cada vez que cambian las personas: alguien se va, una agencia hace el traspaso, termina un proyecto. Cada uno es el momento de abrir "Users" y volver a filtrar por "Administrator". Los plugins y temas inactivos que siguen instalados son la otra mitad de la misma exposición: Click2Shell ejecutó código de un tema que nadie había activado.
Cómo lo detecta Relvato
El monitor Admin roster de Relvato lee las cuentas de administrador del sitio a través del plugin de WordPress de Relvato. Cuando hay más de tres, la ejecución pasa con un aviso que dice cuántas son y sugiere el rol Editor o Shop manager. Con "Activity log and error capture" activado en el plugin (Relvato → Settings, plugin 1.56.0 o posterior), también registra cuándo inicia sesión cada administrador y, cuando ya lleva 90 días registrándolo, nombra a cada administrador que no ha iniciado sesión en ese tiempo. Hasta entonces, la ejecución dice cuántos días faltan en lugar de adivinar.
Relvato nunca baja de rol ni elimina una cuenta por ti: quién debe ser administrador es una decisión sobre personas, y una cuenta eliminada no se puede recuperar desde Relvato. El aviso te dice dónde hacerlo. Si el número es el correcto para tu sitio —un equipo de cinco personas que lo mantienen, por ejemplo—, pulsa "Ignore this warning". El mismo monitor señala también los casos más urgentes: una cuenta de cliente ascendida a administrador, un administrador oculto en la pantalla de usuarios, una contraseña de aplicación nueva.
En el plan Free pulsas Run cuando quieras comprobarlo, o lo programas cada semana. Pro vuelve a ejecutar tus monitores por sí solo tras cada actualización, y el Admin roster en cuanto cambia un rol en el sitio, así que un administrador nuevo aparece el mismo día.
Qué rol dar a quién
| Rol | Puede | No puede | Para |
|---|---|---|---|
| Administrador (Administrator) | Instalar plugins y temas, editar su código, gestionar usuarios y ajustes | — | El propietario y quien mantiene el sitio: una o dos personas |
| Shop manager (WooCommerce) | Productos, pedidos, cupones, informes, ajustes de WooCommerce, cuentas de clientes | Instalar plugins o temas | Quien lleva la tienda en el día a día |
| Editor | Publicar y editar entradas y páginas de todos, comentarios, medios; HTML sin filtrar en un sitio individual | Instalar plugins o temas, el Personalizador, usuarios | Responsables de contenido a quienes confías la portada |
| Autor (Author) | Escribir, publicar y añadir medios a sus propias entradas | Editar entradas de otros o páginas | Quien escribe con regularidad |
| Colaborador (Contributor) | Escribir y editar sus propios borradores | Publicar, subir archivos | Autores invitados |
Preguntas frecuentes
¿Cuántos administradores debería tener un sitio WordPress?
Los menos que permita el trabajo: en la mayoría de los sitios, uno o dos, el propietario y quien mantiene el sitio. Los demás reciben el rol mínimo que cubra su trabajo. Un equipo más grande de mantenimiento puede necesitar más; lo que importa es que cada cuenta sea de una persona real que todavía la necesita.
¿Es seguro dar el rol de Editor?
Más seguro, no inofensivo. Un editor no puede instalar plugins ni temas, abrir el Personalizador ni gestionar usuarios, así que los ataques que necesitan eso, Click2Shell entre ellos, no funcionan con una cuenta de editor. Pero en un sitio individual un editor puede poner HTML y JavaScript sin filtrar en el contenido, así que dáselo a personas a las que confiarías la portada.
¿Cómo veo cuándo inició sesión por última vez un administrador?
WordPress no lo registra. Necesitas un plugin que registre los inicios de sesión, los registros de tu hosting o el plugin de Relvato con "Activity log and error capture" activado: registra los inicios de sesión de cada administrador y, tras 90 días de registro, nombra a los que no tienen ninguno.
¿Elimino un administrador sin uso o le bajo el rol?
Elimínalo si nadie lo va a necesitar, y atribuye su contenido a otro usuario cuando WordPress pregunte. Bájalo a Suscriptor (Subscriber), o al rol que la persona necesita de verdad, si puede hacer falta más adelante. En ambos casos, revoca antes sus contraseñas de aplicación.
¿Actualizar a WordPress 7.1.1 hace esto innecesario?
Corrige Click2Shell. No cambia el patrón: el próximo fallo que funcione a través de un administrador con la sesión iniciada funcionará a través de cada cuenta de administrador que tengas. Lo que lo limita es mantener esa lista corta.