Puerta el pedido y la fijación de precios a la superficie de una derecha

FixSecurityService
Se descapó
27 de agosto de 2026 a las 16:21 UTC
Autor
Kamo
Compromit
45a1b63

Treinta y nueve afinaciones fueron protegidos sólo por "estás firmado". Cada orden manejador de POSController y cada gestor de precios y impuestos en CommerceMarketController leyó el org fuera de la sesión y luego no comprobó nada de lo contrario, para que cualquier miembro autenticado de cualquier rol pudiera crear, editar, reembolsar y órdenes de re-status, y listas de precios de reescribir, descuentos, clases de impuestos, zonas imposiciones, tasas imposiciones y niveles de clientes, dentro de su propio org. Nunca el inquilino cruzado Simplemente no significaba nada allí. Cita El javadoc de Controller había dicho tan abiertamente. POSController, 11 endpoints: GET /órdenes y /órdenes/-id- tomar VIEW-ORDERS; POST /órdenes, PATCH /órdenes/-id, PATCH /orders/-id-/status, POST /orders/-id-/returns, PATCH /returns/-id-/status y PATCH /fulfilelments/-id. tomar MANAGE-ORDERS. Dos lecturas son deliberadamente ACCESO-COMMERCE en lugar de VIEW-ORDERS - GET /config se lee por PipelineView antes de que sepa que el miembro vertical, y GET /cuentas es el directorio de clientes de comercio compartido el Asistente de suscripción y pestaña de inscripciones también utilizan, por lo que la fijación en el pedido Los derechos rechazarían a los miembros que legítimamente nunca toquen una orden. ACCESO.COMMERCE es la raíz del árbol POS: todo el mundo con cualquier derecho de comercio Lo sostiene y ahora todo el mundo sin ninguno se niega. PUT /config toma MANAGE-PRICING porque la fila que escribe lleva la citaConversionBilling. CommerceMarketController, 28 endpoints: lee de los niveles de clientes, clases de impuestos, Zonas fiscales, tipos impositivos, descuentos, listas de precios y entradas en la lista de precios toman VIEW-PRICING; cada creación, actualización y borrado de esas siete tomas MANAGE-PRICING. Los descuentos no estaban en la lista del escrito, sino que se asientan dentro de la misma bloqueo y un descuento es un cambio de precio, por lo que dejarlos abiertos habría sido arbitrariamente. No se necesitaba nuevo ayudante en CommerceMarketController: ya ha existido la derecha Allí, adiós-idéntico al POSController, y fue llamado por NADA. Un ayudante Nadie llama leído en revisión exactamente como un controlador que está custodiado. Retiran once manejadores de POSController ************* el trinquete falla en entradas rancios, así que el Cae el conteo en lugar de la puta de archivo. El mercado de CommerceController pricing Los manejadores nunca estuvieron en ese archivo. getCachedOrganizationId, así que un manejador que resuelve una sesión pero comprueba que no La derecha siempre ha mirado guardada al escáner. Esa es una verdadera limitación de la Gloqueo, no una brecha en este cambio. OrderAndPricingRightsGatePalPaliza los 39 por su nombre y fue probado por mutación: borrar un cheque, cambiar MANAGE por VIEW en una escritura, mover un cheque después de la llamada de servicio, sustituyendo el org de sesión por un literal, poniendo una línea de nuevo en la línea de base, y el izar el 403 por encima del 401 produce cada uno un distinto nombre fracaso.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios