
Патчи времени выполнения для algertc/alpr-dashboard: исправление асинхронного логгера и смягчение CVE-2025-29927 в nginx
Два готовых патча для Docker-проекта algertc/alpr-dashboard. Оба разворачиваются без изменения или пересборки исходного образа.
logger-fix/ — асинхронный логгер + ограничение очисткиЗаменяет встроенный синхронный транспорт журнала (чтение всего файла и перезапись при каждом вызове логирования) на запись через appendFileSync при каждом вызове и отложенную обрезку раз в минуту. Также ограничивает частоту сканирования очистки изображений при каждом POST-запросе.
Измеренное влияние (нагрузка 130 КБ изображения в base64, соответствующая реальным оповещениям Blue Iris): устойчивые темпы чтения номерных знаков, из-за которых исходный сервер переставал отвечать (0 из 60 POST-запросов завершалось за тестовое окно), теперь работают с ровным потреблением CPU и полной пропускной способностью.
Полный график поверхности и необработанные данные — в logger-fix/perf/.
middleware-exploit-mitigation/ — оверлей nginx для CVE-2025-29927Поставляемый образ использует Next.js 15.0.3, который уязвим к CVE-2025-29927 (CVSS 9.1, обход аутентификации через заголовок x-middleware-subrequest). Исправление появилось в апстриме в Next.js >= 15.2.3, но пропатчить его невозможно без обновления исходного образа.
Этот патч помещает сайдкар nginx:alpine перед приложением, который удаляет заголовок обхода в каждом проксируемом запросе. Никаких изменений в приложении и пересборки образа.
global.__loggerInitialized) и к использованию fs/promises.readdir в fileStorage.cleanupOldFiles. Он работает с текущими logger.js и кодом хранилища, но это не «правильное» исправление — правильное исправление состоит в замене LimitedLineTransport на неблокирующую реализацию в апстрим-коде. Этот патч позволяет безопасно работать, пока это не будет сделано.Оба патча просты в установке и откате независимо от релизов апстрима.
Протестировано с algertc/alpr-dashboard:latest по состоянию на апрель 2026 года. Для стабильности закрепите тег заведомо рабочего образа; патч логгера особенно зависит от деталей реализации, которые могут разойтись с изменениями в апстриме.
MIT — см. LICENSE.