- Expédié
- 23 septembre 2026 à 01:16 UTC
- Auteur
- Kamo
- Commite
- 6488bd4
RagSearchContrôleur lire orgId/memberId/memberType du corps JSON sur chaque le chemin, y compris les demandes authentifiées par une session d'un ' plutôt qu'une session X-Auth-Internal-Auth. Un membre signé avec uniquement VIEW-KB-ARTICLES pourrait mettre un id d'une organisation différente, ou un identifiant d'un membre différent, dans le corps et recherchez que la base de connaissances de l'organisation ou les notes privées de ce membre à travers Qdrant Filtres - la session a prouvé qui demandait mais n'a jamais limité ce qu'ils peut demander. /reindex/orgId et/status/orgId ont la même forme niveau up: le chemin orgId a reçu la confiance une fois que l'appelant a tenu dans l'org, sans vérifier que c'était à eux. Pire encore, SessionHelper.hasRight est revenu vrai pour une session avec une session liste de droits vides et à nouveau pour un seul sans champ de droits, donc la droite les contrôles de la garde des trois points d'extrémité étaient séparables par le même champ manquant. La règle maintenant: sur le chemin de la session, org/membre/membreType sont dérivés de la une session uniquement - ajoutée à SessionHelper), et réindex/statuaire nécessite en outre la voie orgId pour être égal au propre lieu de la session org. hasRight faillit, correspondant à celui de KBService. Le chemin X-Internal-Auth est Il n'y a pas de session qui lui soit propre et doit encore donner le nom de qui il est la recherche dans le corps. Le fait de passer également la comparaison secrète X-Internal-Auth de String.equals à MessageDigest.isEqual donc une différence de synchronisation ne peut pas fuir le secret un octet à la fois. Tests: SessionHelperRightsEssoulerEssource les cas fermés en panne (miroirs KBServices) suite). RagSearchContrôleurAuthzTest épingle le bogue de confiance corporelle et le le contrôle de l'orgo-récepteur d'index/respect, et prouve séparément le chemin interne-auth toujours fait confiance à l'organisme (la seule façon d'appeler cela à l'intention d'AIService). Chacun a été vérifié en rouge contre le code de préfixe avant cet engagement.
