Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
nextcloud-ldap-put-isadmin — Nextcloud 35.0.0 — un administrador de Usuarios delegado puede editar mediante PUT a un administrador promovido por LDAP que PATCH rechaza correctamente | Kitploit
Herramientas/GitHubGitHub/abraxas/nextcloud-ldap-put-isadmin
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónLabs y Práctica
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
abraxas/nextcloud-ldap-put-isadmin

nextcloud-ldap-put-isadmin

Nextcloud 35.0.0 — un administrador de Usuarios delegado puede editar mediante PUT a un administrador promovido por LDAP que PATCH rechaza correctamente

Ver Repositorio
8hace 15 díasAún no revisado

Abraxas Labs - nextcloud-ldap-put-isadmin

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  nextcloud-ldap-put-isadmin

nextcloud-ldap-put-isadmin

Nextcloud Server 35.0.0 - Nextcloud GmbH

PUT /cloud/users/{id} permite a un administrador de Usuarios delegado editar un objetivo a menos que ese objetivo esté en el grupo local admin. PATCH en la misma ruta usa correctamente isAdmin(). Los administradores promovidos por LDAP tienen isAdmin()===true y a menudo no están en ese grupo local.

Un actor malicioso con el rol de Usuarios estilo helpdesk puede deshabilitar, bloquear por cuota o eliminar a un administrador de instancia real promovido por LDAP. La API PATCH más reciente lo rechaza correctamente. La ruta PUT más antigua no lo hace.

IDsin CVE todavía
CWECWE-863
CVSSAlto: 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (administrador de Usuarios delegado, no administrador de instancia)
ProductoNextcloud Server
Afectado35.0.0 (da02f41) oficial nextcloud:35.0.0-apache más user_ldap
Autenticaciónadministrador de Usuarios delegado vs administrador promovido por LDAP
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

Qué puede hacer un atacante

En un sitio LDAP, promoviste un grupo LDAP a administrador de instancia (occ ldap:promote-group). Esas personas son administradores reales (isAdmin()===true) pero pueden no estar en el grupo local de Nextcloud llamado admin.

También le diste a alguien el rol de configuración de Usuarios (helpdesk). No son un administrador de instancia completo.

Ese usuario de helpdesk puede:

  • Cambiar la cuota del administrador promovido por LDAP (laboratorio: PUT 200, PATCH 403)
  • Deshabilitar o eliminar a ese administrador (misma comprobación isInGroup en enable/disable/delete/wipe)
  • Restablecer la contraseña si el backend LDAP permite canChangePassword() (a menudo falso; no depender de ello)

No pueden hacer esto con alguien que esté realmente en el grupo local admin. No pueden hacer esto en un sitio sin administradores promovidos por LDAP. La API PATCH más segura ya conoce la diferencia.


Cómo lo encontré

El aprovisionamiento tiene dos editores para el mismo usuario. UsersController::editUser es PUT. editUserMultiField es PATCH. Mismo archivo. Métodos adyacentes. Dos respuestas diferentes a "¿esta persona es administrador?".

PUT comprueba isInGroup($target, 'admin'). PATCH comprueba isAdmin($target). Manager::isAdmin() consulta LDAP IIsAdmin y luego el grupo local. occ ldap:promote-group hace que un grupo LDAP sea administrador de instancia sin poner esos uids en el grupo local admin.

Levanté el oficial nextcloud:35.0.0-apache más osixia/openldap:1.5.0. Usuario LDAP ldapadmin en el grupo promovido ncadmins: isAdmin()===true, no en el admin local. El helpdesk local es Usuarios delegado, no administrador de instancia.

Envié PATCH primero. Es la ruta más reciente. Esperaba que PUT coincidiera con ella. PATCH {"quota":"1 GB"} devolvió 403. PUT key=quota&value=1 GB devolvió 200. GET luego mostró la cuota 1073741824.


Laboratorio

cd lab
./run.sh

Objetivo solo http://127.0.0.1:18342 (OpenLDAP en el DNS de compose ldap:389).

SUCCESS NEXTCLOUD-LDAP-PUT-ISADMIN who=delegated-users-admin target=ldapadmin put=200 patch=403 NEXTCLOUD-LDAP-PUT-ISADMIN-WITNESS
  • lab/docker-compose.yml
  • lab/Dockerfile
  • lab/run.sh
  • lab/ldap/50-seed.ldif
  • lab/fixture.php

La solución

Usar isAdmin($target) en PUT/disable/delete/wipe de la misma manera que ya lo hace PATCH.


Referencias

  • github.com/nextcloud/server etiqueta v35.0.0
  • Promoción LDAP: occ ldap:promote-group (PR #41650)
  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null

Licencia

GNU Affero GPL v3.0. Ver LICENSE. Solo laboratorio en loopback. Sin garantía.

Descargar herramienta