
Correções em tempo de execução para algertc/alpr-dashboard: correção do logger assíncrono e mitigação nginx para CVE-2025-29927
Dois patches substitutos para o projeto Docker algertc/alpr-dashboard. Ambos são implantáveis sem modificar ou reconstruir a imagem upstream.
logger-fix/ — logger assíncrono + limitação de limpezaSubstitui o transporte de log síncrono embutido (leitura completa do arquivo + regravação a cada chamada de log) por um gravador appendFileSync por chamada e um corte diferido uma vez por minuto. Também limita a taxa da varredura de limpeza de imagens por POST.
Impacto medido (carga útil de imagem base64 de 130 KB, correspondendo a alertas reais do Blue Iris): taxas sustentadas de leitura de placas que tornaram o servidor original não responsivo (0 de 60 POSTs concluídos por janela de teste) agora rodam com CPU estável e taxa total de transferência.
Gráfico de superfície completo e dados brutos em logger-fix/perf/.
middleware-exploit-mitigation/ — sobreposição nginx para CVE-2025-29927A imagem fornecida usa Next.js 15.0.3, que é vulnerável ao CVE-2025-29927 (CVSS 9.1, bypass de autenticação via cabeçalho x-middleware-subrequest). Corrigido upstream no Next.js >= 15.2.3, mas não pode ser corrigido sem atualizar a imagem upstream.
Este patch insere um sidecar nginx:alpine na frente do aplicativo que remove o cabeçalho de bypass em cada requisição proxyada. Sem alterações no aplicativo, sem reconstrução da imagem.
global.__loggerInitialized) e ao uso de fileStorage.cleanupOldFiles de fs/promises.readdir. Funciona atualmente contra o logger.js e o código de armazenamento atuais, mas não é a correção "correta" — a correção correta é substituir LimitedLineTransport por uma implementação não bloqueante no código upstream. Este patch é uma forma de executar com segurança até que isso aconteça.Ambos os patches são fáceis de instalar e fáceis de reverter, independentemente dos lançamentos upstream.
Testado contra algertc/alpr-dashboard:latest a partir de 2026-04. Fixe em uma tag de imagem conhecida e boa para estabilidade; o patch do logger em particular depende de detalhes de implementação que podem mudar com alterações upstream.
MIT — veja LICENSE.