Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nextcloud-ldap-put-isadmin — Nextcloud 35.0.0 — un administrateur délégué des utilisateurs peut modifier via PUT un administrateur promu par LDAP, ce que PATCH refuse correctement | Kitploit
Outils/GitHubGitHub/abraxas/nextcloud-ldap-put-isadmin
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitation d'Applications WebSécurité WebTests d'IntrusionLabs et Pratique
GitHub

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
abraxas/nextcloud-ldap-put-isadmin

nextcloud-ldap-put-isadmin

Nextcloud 35.0.0 — un administrateur délégué des utilisateurs peut modifier via PUT un administrateur promu par LDAP, ce que PATCH refuse correctement

Voir le dépôt
8il y a 15 joursPas encore vérifié
Partager

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} permet à un administrateur Utilisateurs délégué de modifier une cible, sauf si cette cible appartient au groupe local admin. PATCH sur le même chemin utilise correctement isAdmin(). Les administrateurs promus via LDAP ont isAdmin()===true et ne sont souvent pas dans ce groupe local.

Un acteur malveillant disposant du rôle Utilisateurs de type helpdesk peut désactiver, bloquer le quota ou supprimer un véritable administrateur d'instance promu via LDAP. La nouvelle API PATCH refuse correctement. L'ancien chemin PUT ne le fait pas.

IDpas encore de CVE
CWECWE-863
CVSSÉlevé : 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (administrateur Utilisateurs délégué, pas administrateur d'instance)
ProduitNextcloud Server
Affecté35.0.0 (da02f41) officiel nextcloud:35.0.0-apache plus user_ldap
Authadministrateur Utilisateurs délégué vs administrateur promu via LDAP
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

Ce qu'un attaquant peut faire

Sur un site LDAP, vous avez promu un groupe LDAP au rang d'administrateur d'instance (occ ldap:promote-group). Ces personnes sont de véritables administrateurs (isAdmin()===true) mais elles peuvent ne pas appartenir au groupe local Nextcloud nommé admin.

Vous avez également attribué à quelqu'un le rôle de paramètres Utilisateurs (helpdesk). Cette personne n'est pas un administrateur d'instance complet.

Cet utilisateur helpdesk peut :

  • Modifier le quota de l'administrateur promu via LDAP (lab : PUT 200, PATCH 403)
  • Désactiver ou supprimer cet administrateur (même contrôle isInGroup sur enable/disable/delete/wipe)
  • Réinitialiser le mot de passe si le backend LDAP autorise canChangePassword() (souvent faux ; ne pas s'y fier)

Il ne peut pas faire cela à quelqu'un qui appartient réellement au groupe local admin. Il ne peut pas faire cela sur un site sans administrateurs promus via LDAP. L'API PATCH plus sûre connaît déjà la différence.


Comment je l'ai trouvé

Le provisioning dispose de deux éditeurs pour le même utilisateur. UsersController::editUser est PUT. editUserMultiField est PATCH. Même fichier. Méthodes adjacentes. Deux réponses différentes à « cette personne est-elle administrateur ».

PUT vérifie isInGroup($target, 'admin'). PATCH vérifie isAdmin($target). Manager::isAdmin() interroge LDAP IIsAdmin puis le groupe local. occ ldap:promote-group rend un groupe LDAP administrateur d'instance sans placer ces uid dans le groupe local admin.

J'ai déployé l'image officielle nextcloud:35.0.0-apache plus osixia/openldap:1.5.0. L'utilisateur LDAP ldapadmin dans le groupe promu ncadmins : isAdmin()===true, pas dans le groupe local admin. Le helpdesk local est Utilisateurs délégué, pas administrateur d'instance.

J'ai envoyé PATCH en premier. C'est la route la plus récente. Je m'attendais à ce que PUT s'aligne. PATCH {"quota":"1 GB"} a renvoyé 403. PUT key=quota&value=1 GB a renvoyé 200. GET a ensuite affiché le quota 1073741824.


Lab

cd lab
./run.sh

Cible uniquement http://127.0.0.1:18342 (OpenLDAP sur le DNS 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

Le correctif

Utiliser isAdmin($target) sur PUT/disable/delete/wipe de la même manière que PATCH le fait déjà.


Références

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

Licence

GNU Affero GPL v3.0. Voir LICENSE. Lab en boucle locale uniquement. Aucune garantie.

Télécharger l’outil