- Se descapó
- 23 de septiembre de 2026 a las 12:35 UTC
- Autor
- Kamo
- Compromit
- 80ec053
Cinco brechas permiten a un miembro firmado llegar fuera de su propia organización, o llegar a un la cuenta de su colega, sin cheque correcto: - ********************** no resolvió ninguna sesión en absoluto. La puerta de entrada hacia adelante /api/security/** sin autismo propio, por lo que cualquiera que tenga un papel UUID podría reescribir o eliminar los derechos de rol de cualquier organización. createRole resolvió una org pero no correcto, por lo que cualquier miembro podría precargar un nuevo papel con derechos arbitrarios. Los tres ahora requerir CONFIGURE-SYSTEM (o una ventana de dios abierto) y, para actualizar/borretar, que el papel pertenece a la org del que llaman "La misma regla"DeportivoContralor y JobTitorario ya se hace cumplir en sus propios caminos de escritura, en la misma página de establecimientos esenciales. - **************** nunca resolvió la organización del llamante, para que un propietario de org A podría establecer el nivel de acceso de org B o el estatus de propietario por parte de miembro id solo; getMemberAccess verificó sólo que existía una sesión. Ambos alcancen ahora el objetivo a la org del que llama (getMemberAccess mantiene su anchura previa para una lectura del mismo or). actualizaciónMemberAccess también leyó una tecla de sesión ("MID") que KSessionService nunca escribe, para que cada llamada real tirara y 500'd antes de llegar al viejo código vulnerable o el nuevo cheque; fijado en la misma edición por lo que la solución de org-scoping es realmente alcanzable. **************** (kamo-shared-library, ya empujado) consigue lo mismo organización comprueba como defensa en profundidad. - ******************* dejar que cualquier miembro del mismo-org reescribir el de un colega ************* sin cheque correcto. USUARIO.FELDS cubre sólo los campos que viven en la cuenta de Usuario (nombre/DOB/phonetic), y estos viven en Miembro en su lugar. members.email se dobla como identificador de inicio de sesión y recuperación de contraseñas ******************* y el flujo de recuperación envía un correos electrónicos al enlace de reinicio a cualquiera que fuera la dirección era TYPED en el formulario en lugar de la propia dirección de la cuenta, así que esto era un camino para redirijo donde se entrega el enlace de restablecimiento de contraseña de un colega. Clasificado en sí es Self. MANAGE-MEMBER-SECURITY, que refleja el propio autoOrSecurityAdmin de kamo-internal Puerta en el nombre de usuario de los hermanosEl campo de Alias. - LeadCreditController /créditos/distribuir y /créditos/lolotments org-checked teamMemberId pero cargado vendorId/vendorProductId (y, en createAllotment, marketId) por encontrarById solo, así que un UUID del catálogo de venganza de plomo de otra organización o La configuración del mercado funetró tanto como la del que llama. Mismo cheque de la calidad de la org como el caso del miembro del equipo (a través de la organización del vendedor; un producto a través de su proveedor; mercado a través de su propia organización), la misma respuesta 404. Una clase de prueba por superficie, cada una con una caja que falla sin su fijación (mutación- comprobado: revertido, confirmado rojo, restaurado) más un caso de éxito del mismo-org tan legítimo llamantes que pasan por las verdaderas pantallas internas de kamo (la pestaña de roles de configuración esencial, las pestañas de seguridad/acceso del perfil del miembro, Administrar créditos) aún tienen éxito.
