Restaurer les actifs thématiques - Le CSP a obtenu le mauvais hôte et SVG a été désactivé

Fixkamo-internal
Expédié
3 août 2026 à 03:56 UTC
Auteur
kamo
Commite
aa7c32d

Les avatars, les logos d'orge et les fonds d'information ont cessé de se charger pour chaque locataire. Deux Les régressions que j'ai introduites dans 36ad904b, toutes deux vivent pendant des heures. 1. La politique d'impg-src par demande tirait le domaine des locataires -request.nexUtUrl.hostname. À l'intérieur de la gousse qui est 127.0.0.1, donc prendre le Les deux dernières étiquettes ont produit le sommet "0," et l'en-tête émis était: Impg-src 'self' data: blob: https://theme.0.0 https://.0.0 L'origine de tous les vrais thèmes du domaine sont donc bloquées. L'hôte doit venir à partir des en-têtes et requêtes transmis par Traefik et la passerelle, Donc le nom d'hôte externe ne survit que là. Le reste de cette base de code déjà savait que; l'API proxy avance X-Forwarded-Host explicitement pour que les backends puissent construire des URL de thème à partir de celui-ci. L'erreur la plus profonde était l'échec FERMÉ sur une valeur qu'elle ne pouvait pas analyser. Une politique construit à partir d'un sommet non-sens est indiscernable d'un supérieur strict à la serveur, donc rien ne semblait pas de l'extérieur - il est simplement siblub silencieusement images partout. locataireApex() retourne maintenant nul pour tout ce qui n'est pas un Domaine enregistrable (code ILittéral, label nue, localhost, TLD numérique) et l'appelant omet complètement l'en-tête. Un en-tête manquant est le comportement précédent; un mauvais en-tête est une panne. 2. dangereusementAllowSVG: false bloqué SVG par l'intermédiaire de l'optimiseur pour TOUTES sources, pas seulement les logos org/logiciels et les icônes du fournisseur sous /logo sont SVG. Remise en place, et il est beaucoup plus étroit aujourd'hui que quand il l'a été pour la première fois set: remotePatterns est vide, donc l'optimiseur ne peut pas être dirigé vers un étranger l'hôte, et les images externes passent par /api/images/proxy, qui valide Le contenu et sert avec «default-src 'none'; bac à sable plus nosniff. Les essais couvrent la dérivation par rapport à l'entrée exacte qui a provoqué cette cause, domaines de marque blanche, de priorité d'hôte transmise, de valeurs transmises par des virgules, les ports, et toutes les formes qui doivent rendre nulles.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation