Admin can remove another admin from the organization
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- authorization
Línea de trabajo
The report says the membership API edit queryset permits active organization admins to manage memberships and the delete safeguard only protects the last active admin; it names no files or tests. Start by tracing the membership API's edit queryset and deletion safeguard, then check existing permission tests. Done means an organization admin cannot remove another admin, while a web admin can revoke admin membership.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Target branch: unstable
Observed behavior
An organization admin can remove another admin from the organization. This action should be restricted because it changes the user's organization membership and strips administrative access.
Errors and logs
No application error is expected when removing an admin membership. The organization membership DELETE endpoint returns HTTP 204 when the removal succeeds. The backend allows active organization admins to delete memberships, and its safeguard only rejects deletion when the target is the organization's last active admin (HTTP 400). It does not block deletion based on the target's admin role when another active admin remains.
Expected behavior
An admin should not be able to remove another admin from the organization. Only a web admin should be allowed to revoke organization membership for admins.
User-facing consequences
This allows unauthorized removal of administrative access, which can destabilize the organization, reduce administrative coverage, and create a situation where a user is unexpectedly removed from the organization without proper control.
Steps to reproduce
- Sign in as an organization admin.
- Navigate to the organization SHARING tab.
- Find another user whose role is Admin.
- Choose the option to remove the user from the organization.
- Observe that the request succeeds with HTTP 204 and the target admin's membership is deleted, as long as another active admin remains. If the target is the last active admin, the request is rejected.
Context
The membership API's edit queryset allows active organization admins to manage memberships, including memberships whose target role is Admin. The delete safeguard only preserves at least one active admin; it does not prohibit one admin from removing another. This report reflects the current backend behavior rather than a client-side error.
AI usage
The bugs were gathered by a human and later turned into issue descriptions with the help of an AI assistant. The assistant was used to draft the wording and structure of the report, and the final text was reviewed and adjusted for accuracy based on the supplied bug summary.
- Lenguaje dominante
- Python
- Estrellas
- 192
- Forks
- 310
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 69
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de learningequality/studio
-
Set unpublishable: true on PublishedChange by construction to simplify handleMaxRevs predicateAbiertoDEV: frontend P3 - low
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
learningequality/studio#5868 ·
Los mantenedores suelen responder en 1 día
-
TAG: tech update / debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
learningequality/studio#2245 ·
Los mantenedores suelen responder en 1 día
-
bug DEV: frontend P0 - critical
Dificultad 3/5 1-2 días Aptitud para principiantes 22/100
learningequality/studio#6316 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 1-2 días Aptitud para principiantes 35/100
learningequality/studio#6315 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
learningequality/studio#6313 ·
Los mantenedores suelen responder en 1 día
Todos los issues de learningequality/studio
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PolicyEngine/policyengine-us#10262 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
kellyjonbrazil/jc#788 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
`/search.json` ignores the documented `editions.sort` parameterPosiblemente ocupada @PranavD2905 la tomó hoy. AbiertoAffects: Server Good First Issue Module: Solr Needs: Triage Theme: Public APIs Theme: Search
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
internetarchive/openlibrary#13989 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug P2: misleading query
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
jeffknupp/association#478 ·