- Spegnimento
- 23 settembre 2026 alle ore 10:34 UTC
- Autore
- Kamo
- Impegno
- cb37067
ResourceServerConfig consente ogni richiesta (questo servizio è raggiungibile in forma anonima conversion-api.kamocrm.com), e nessuno dei gestori di ImageOpsController o ConversionController ha controllato una sessione o un segreto interno del proprio — ffmpeg e LibreOffice corse, e Batik SVG grezzo codificato, su upload anonimi. Ha mappato ogni chiamante attraverso la flotta prima di toccare auth, perché la maggior parte di questi endpoint hanno service-to-service callers (docsservice, securityservice) che inviano oggi le credenziali NO: - /image/resize-height: gated su una sessione personale (extractK Token, lo stesso cancello ImagingUploadController si applica) — il suo unico chiamante, la pagina delle impostazioni del badge di firma elettronica, è se stesso irraggiungibile senza uno, quindi questo non costa nulla. Traduzione: costante, non chiuso modello come TranscriptionController) — un full repo grep trovato NO chiamante ovunque, quindi il gating è gratuito. - /image/resize-bg, /favicon/generate, /convert-to-pdf, /generate-thumbnails, /page-count, /render-page: NON recintato. Ognuno ha almeno un Java service-to-service caller che non invia X-Internal-Auth oggi (il servizio di sicurezza e'... ConversionPageClient, DocumentService di docsservice). Richiedere auth qui sarebbe 401 che il traffico immediatamente sulla distribuzione — una decisione del prodotto/cross-repo, non credo che questo cambiamento faccia unilateralmente. La mappa completa delle chiamate e la proprietà... / E' il momento giusto. già montato su questo baccello per il commit precedente) ogni chiamante ha bisogno di iniziare a inviare, va Il rapporto di correzione. Indurito indipendentemente dal divario auth, dal momento che nessuno di esso dipende dal coordinamento del chiamante: - ImageResizeService: né ffprobe né ffmpeg è mai stato detto il formato di ingresso — entrambi auto-detected il set completo di demuxer di ffmpeg dal contenuto del file. Ora sniffato da byte magiche contro un fisso consentirelist (PNG/JPEG/WebP/GIF/BMP → il corrispondente * pipe demuxer) e pinned su entrambe le invocazioni; qualsiasi altra cosa viene rifiutata prima che un processo venga deposto. - FaviconGeneratorService: l'ingresso SVG passa attraverso un PNGTranscoder bloccato (NoLoadExternalResourceSecurity + NoLoadScriptSecurity, piuttosto che affidarsi alla propria politica di default di Batik per questa forma di input — verificato a mano che Batik 1.17 già di default entrambi fuori qui, ma questo è ora una garanzia questo file stati e un perni di prova, non una proprietà di dipendenza-versione non stabilita) e rifiuta un DOCTYPE outright (il vettore XXE; verificato questo DOES materia — Batik non lo respinge da solo). Aggiunta la stessa cap pixel pre-decode (~100MP, tramite il lettore di sola testa di ImageIO) e convalutazione limitare (2 in volo) gli endpoint di ridimensionamento già avevano, più un tappo 2MB sul markup SVG stesso. Test nuovi/updated: ImageResizeServiceTest (format Allowlist), FaviconGeneratorServiceTest (SSRF tramite un server HTTP locale che deve vedere zero colpi, rifiuto DOCTYPE, rifiuto oversize-SVG), E' il momento giusto. E' il momento giusto. Mutazione-controllata: il DOCTYPE, format-allowlist ed entrambe le nuove porte auth vanno tutte rosse quando disabilitate; il test SSRF non (vedi la sua docstring — Batik già difende questa forma di input) ma è tenuto come una regressione a spillo Guardia.
