
Apache OpenMeetings 9.1.0 - Élevé - À distance - Résidu de privilèges - SOAP POST /user copie UserDTO.rights, y compris ADMIN
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-soap-user-rights
Classe : Résidu de privilèges Portée : À distance
Apache OpenMeetings 9.1.0. Le SOAP POST /user/ copie UserDTO.rights et effectue la mise à jour par id. Le SOAP est le compte d'intégration LMS. Il est censé rester en dessous d'ADMIN. UserMapper exécute userDao.get(dto.getId()) puis u.setRights(dto.getRights()). UserWebService.add ajoute ROOM/LOGIN/DASHBOARD et ne retire jamais ADMIN.
| ID | pas encore de CVE |
| Classe | Résidu de privilèges |
| Portée | À distance (SID SOAP) |
| CWE | CWE-269, CWE-280 |
| CVSS | Élevé : 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Produit | Apache OpenMeetings 9.1.0 |
| Auth | Right.SOAP (pas ADMIN) |
| Licence | GNU Affero GPL v3.0 |
| Labo | 127.0.0.1:18152 uniquement |
| Méthode | Point de sortie | Privilège |
|---|---|---|
SOAP POST /services/user/?sid= rights=["ADMIN"] | UserMapper.setRights + userDao.update | Intégrité (prouvé en labo) : implantation d'ADMIN. Labo : témoin de prénom plantedadm, DELETE /user/3 en tant qu'utilisateur implanté a renvoyé 200 Deleted. Le DELETE de soaplab réservé au SOAP a renvoyé error.notallowed. |
Même POST avec un id existant | userDao.get(dto.getId()) | Intégrité (prouvé en labo) : écrasement par fusion d'id. Labo : utilisateur 4 login mergeover avec ADMIN. |
Fermé : DELETE /user/{id} nécessite toujours ADMIN. Le SID ROOM renvoie NO_PERMISSION à l'ajout. L'inscription côté frontend n'accepte pas de tableau de droits.
cd lab
./run.sh
Dernière ligne : SUCCESS OPENMEETINGS-SOAP-RIGHTS-WITNESS
Correctif suggéré : ignorer UserDTO.rights lors de l'ajout SOAP, ou n'autoriser que LOGIN/ROOM/DASHBOARD. Ne jamais charger par id lors de l'ajout. Retirer ADMIN/SOAP sauf si l'appelant est ADMIN.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
Fournisseur : [email protected]