KamoCRM

Arrêtez de faire confiance à n'importe quel https://api.-anything en tant qu'hôte Docs WOPI

FixDocsService
Expédié
23 septembre 2026 à 02:18 UTC
Auteur
Kamo
Commite
71c6d27

k8s/Docs-DS-Indiangation.yaml's aliasgroup1 était « https://api.. Match d'alias de Docs (RegexUtil::getValue, std::regex-match) exige seulement que l'autorité candidate d'origine corresponde le modèle de l'ensemble, et '. ' absorbe tout ce qui suit "api." - donc cela a fait confiance littéralement n'importe lequel un domaine sur Internet en forme de https://api., tant que son propriétaire met une étiquette "api." face avant. Le processus WSD de Docs est celui qui délègue un hôte WOPI apparié par alias côté serveur, donc un alias de confiance est l'exposition SSRF, pas un contrôle redondant assis sur le dessus du signé WOPI JWT (le commentaire supprimé ici a dit que le JWT était "la vraie porte" - il rétrécit document/associer à une demande agit comme, selon le correctif WopiCroller plus tôt dans cette branche, mais jamais Les docs HOST traiteraient comme un critère de stockage WOPI légitime). Remplacé par les hôtes locataires vivants actuels: api.kamocrm.com et tout sous-domaine de celui-ci (kamocrm.com est le propre domaine de Kamo - personne en dehors de Kamo ne peut créer un nom qui s'y termine, donc cette demi-temps reste corrects car de nouvelles organisations sont ajoutées, sans redéployer, c'est ce qui couvre api.demo.kamocrm.com-style per-org de démos organise aujourd'hui), union avec les lignes d'org-domains qui sont racine (parent-id IS NULL), active, propriété-vérifiée ET ssl-confirmée à partir de 2026-09-22 trois conditions OrgApiHosts.verifiedRootDomain déjà gates OAuth calllls sur: b11capital.com, breakbeat.store, chinilaw.com, harmoniehomeloans.net, kamo.club, makeitpopsigns.com, optionone.com, signe.pink, tech-life.com. Nouveau test: DocsAliasHostTest, lire la valeur YAML déployée en tant que texte (même convention que et en le compilant avec java.util.regex, dont Matcher-matches a la même sémantique à cordes entières que std::regex-match. Défilé de la mutation : revenir à 'https://api'..' devient 3 de ses 6 cas rouges (domaine d'attaquants arbitraire, un domaine ressemblant qui contient simplement "kamocrm" comme une sous-corre, et un tour de remontage-suffix devant un hôte connu). NON UN FILLE FIX, rapporté comme un gap connu: un tout nouveau domaine personnalisé (et non un .kamocrm.com sous-domaine) en direct a toujours besoin d'une ligne ajoutée ici et d'un redéploiement - la même limitation l'ancienne par domaine aliasgroup1..N liste avait, et la raison pour laquelle elle a été remplacée par le wildcard dans la première place (Docs-fork commit b5d260a24e, "Per-domain aliasgroup1..N liste seulement de 4 locataires de confiance; les nouveaux locataires comme api.optionone.com ont "l'hôte WOPI non autorisé"). Une solution durable a besoin soit La configuration de la télécommande de Docs est à la recherche d'un point d'extrémité en direct, soutenu par DB, ou d'une automatisation qui régénère ce manifeste et roule les documents chaque fois qu'une ligne d'org-domains satisfait nouvellement - - infra-tramisme, non replié dans ce changement. Il est également noté à ce titre le coordinateur: les org-domains ont une ligne pour le domaine "localhost" appartenant à KamoCRM Inc. elle-même, active-vérification-sl-confirmé, qui ressemble à des données dev/seed restantes plutôt qu'à un vrai locataire domaine; laissés intacts (hors possibilité pour ce correctif, et changement d'org - les données ont besoin du manuel DDL path) mais vaut la peine d'y jeter un coup d'oeil. Suite complète: 731 tests en vert (contre 725; 6 nouveaux).

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation