
Patch runtime per algertc/alpr-dashboard: fix del logger asincrono e mitigazione nginx per CVE-2025-29927
Due patch drop-in per il progetto Docker algertc/alpr-dashboard. Entrambe sono distribuibili senza modificare o ricostruire l'immagine upstream.
logger-fix/ — logger asincrono + throttle della puliziaSostituisce il trasporto di log sincrono integrato (lettura dell'intero file + riscrittura a ogni chiamata di log) con uno scrittore appendFileSync per chiamata e un trim differito una volta al minuto. Limita inoltre la frequenza della scansione di pulizia delle immagini per ogni POST.
Impatto misurato (payload immagine base64 da 130 KB, corrispondente a reali avvisi Blue Iris): i tassi sostenuti di lettura targhe che rendevano il server originale non reattivo (0 POST su 60 completate per finestra di test) ora girano con CPU stabile e throughput completo.
Grafico di superficie completo e dati grezzi in logger-fix/perf/.
middleware-exploit-mitigation/ — overlay nginx per CVE-2025-29927L'immagine fornita utilizza Next.js 15.0.3, vulnerabile a CVE-2025-29927 (CVSS 9.1, bypass dell'autenticazione tramite header x-middleware-subrequest). Corretto a monte in Next.js >= 15.2.3, ma non applicabile senza aggiornare l'immagine upstream.
Questa patch inserisce un sidecar nginx:alpine davanti all'app che rimuove l'header di bypass su ogni richiesta inoltrata tramite proxy. Nessuna modifica all'app, nessuna ricostruzione dell'immagine.
global.__loggerInitialized) e all'uso di fs/promises.readdir da parte di fileStorage.cleanupOldFiles. Oggi funziona con l'attuale codice di logger.js e di storage, ma non è la correzione "giusta": la soluzione corretta è sostituire LimitedLineTransport con un'implementazione non bloccante nel codice upstream. Questa patch è un modo per operare in sicurezza fino a quel momento.Entrambe le patch sono facili da installare e da rimuovere, indipendentemente dalle release upstream.
Testato con algertc/alpr-dashboard:latest aggiornato ad aprile 2026. Fissare un tag di immagine noto e funzionante per la stabilità; la patch del logger in particolare dipende da dettagli implementativi che potrebbero variare con i cambiamenti upstream.
MIT — vedi LICENSE.