KamoCRM

Auth sur les critères d'évaluation qui peuvent le prendre maintenant, ffmpeg/Batik durcissement sur le reste

FixConversionService
Expédié
23 septembre 2026 à 10:34 UTC
Auteur
Kamo
Commite
cb37067

ResourceServerConfig permet toute demande (ce service est accessible anonymement à conversion-api.kamocrm.com), et aucun des manipulateurs de ImageOpsController ou ConversionContrôleur a vérifié une session ou un secret interne de leur propre ffmpeg et LibreOffice, et Batik transcodage SVG brut, sur des téléchargements anonymes. J'ai cartographié chaque appelant de la flotte avant de toucher auth, parce que la plupart de ces critères d'évaluation ont les appelants de service à service (docsservice, service de sécurité) qui n'envoient aucun diplôme aujourd'hui: - /image/sens mort: gracieuse sur une session du personnel (extractKToken, la même porte ImagingUploadController s'applique) - son seul appelant, la page de paramètres de badge de signature de courrier électronique, est soi-même inaccessible sans un, donc cela ne coûte rien. - /convertir-up en pdf-avec mot de passe: gated on the - shared secret (même motif à retard constant, fermé en défaut comme TranscriptionContrôleur) - un grep à prise complète trouvé NON appelant n'importe où, alors le faire est gratuit. /image/reise-bg, /favicon/générée, /convertir-en-pdf, /rembillages générés, /compte de pages, /page de rendu: NE PAS de distance. Chacun a au moins un appel d'appel de service Java qui envoie non X-Internal-Auth aujourd'hui (spécialiste de services de sécurité) ConversionPageClient, documentService de docsservice). Exiger ici 401 ce trafic immédiatement sur le déploiement - une décision de produit/répline croisée, pas une estimation que ce changement fait unilatéralement. Carte complète de l'appelant, et la propriété déjà monté sur cette dosette pour l'engagement précédent) chaque appelant doit commencer à envoyer, entre le rapport fixe. Durci en indépendamment de l'écart d'auths, car rien de tout cela ne dépend de la coordination des appelants: - ImageResizeService: ni ffprobe ni ffmpeg n'ont jamais été informés du format d'entrée - les deux auto-détectés sur le jeu complet de demuxer de ffmpeg à partir du contenu du fichier. Maintenant reniflé à partir d'octets magiques contre un fixe l'autorisation de l'étilionne (PNG/JPEG/WebP/GIF/BMP - le démouxer de la pile correspondante) et épinglée sur les deux invocations; toute autre chose est refusée avant qu'un processus ne soit créé. - FaviconGeneratorService: l'entrée SVG passe par un transcodeur PNG verrouillé (NoLoadExternalResourceSecurity NoLoadScriptSecurity, plutôt que de compter sur la propre politique par défaut de Batik pour cette forme d'entrée vérifié à la main que Batik 1.17 est déjà défaillante les deux ici, mais c'est maintenant une garantie que fichier indique et une broche de test, pas une propriété non déclarée de laversion de la dépendance) et refuse un DOCTYPE tout droit (le vecteur XXE, vérifié que celui-ci est important - Batik ne le rejette pas seul). Ajout du même capuchon de pixel de pré-décodage (- 100MP, via le lecteur d'en-tête seul de ImageIO) et simultané limite (2 en vol) les critères de redimensionnement des critères d'évaluation avaient déjà, plus un plafond de 2 Mo sur le balisage SVG lui-même. Nouveaux tests/tests actualisés: ImageResizeServiceTest (format allowlist), FaviconGeneratorServiceTest (SSRF via a) un serveur HTTP local qui doit voir zéro coup, refus de DOCTYPE, refus de VG surdimensionné), - Dépôts vérifiés : DOCTYPE, liste de format-autorisation et les deux nouvelles portes d'authentification deviennent tous rouges lorsqu'ils sont désactivés; le test SSRF ne (voir son docstring - Batik défend déjà cette forme d'entrée) mais est maintenu en régression épinglée garde.

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