
Laufzeit-Patches für algertc/alpr-dashboard: Asynchron-Logger-Fix und CVE-2025-29927 nginx-Absicherung
Zwei Drop-in-Patches für das algertc/alpr-dashboard Docker-Projekt. Beide können eingesetzt werden, ohne das upstream-Image zu ändern oder neu zu bauen.
logger-fix/ — asynchroner Logger + Bereinigungs-DrosselungErsetzt den eingebauten synchronen Log-Transport (vollständiges Datei-Lesen + Umschreiben bei jedem Log-Aufruf) durch einen appendFileSync-pro-Aufruf-Schreiber und eine einmal pro Minute verzögerte Kürzung. Drosselt außerdem die pro-POST-Bildbereinigungsscan-Rate.
Gemessene Auswirkung (130 KB base64-Bildnutzlast, passend zu echten Blue Iris-Benachrichtigungen): anhaltende Kennzeichenleseraten, die den ursprünglichen Server unresponsiv machten (0 von 60 POSTs innerhalb des Testzeitraums abgeschlossen), laufen jetzt mit flacher CPU und vollem Durchsatz.
Vollständiger Oberflächenplot und Rohdaten in logger-fix/perf/.
middleware-exploit-mitigation/ — CVE-2025-29927 nginx-OverlayDas ausgelieferte Image verwendet Next.js 15.0.3, das anfällig für CVE-2025-29927 ist (CVSS 9.1, Authentifizierungsumgehung über den x-middleware-subrequest-Header). Im Upstream in Next.js >= 15.2.3 behoben, aber ohne Aktualisierung des upstream-Images nicht patchbar.
Dieser Patch platziert einen nginx:alpine-Sidecar vor der App, der den Umgehungs-Header bei jeder weitergeleiteten Anfrage entfernt. Keine App-Änderungen, kein Image-Neubau.
global.__loggerInitialized) und an die Verwendung von fs/promises.readdir in fileStorage.cleanupOldFiles gebunden ist. Er funktioniert heute gegen den aktuellen logger.js und den Speichercode, ist aber nicht der "richtige" Fix – der richtige Fix ist, LimitedLineTransport durch eine nicht-blockierende Implementierung im upstream-Code zu ersetzen. Dieser Patch ist eine Möglichkeit, sicher zu laufen, bis das geschieht.Beide Patches sind einfach zu installieren und einfach rückgängig zu machen, unabhängig von upstream-Veröffentlichungen.
Getestet gegen algertc/alpr-dashboard:latest Stand 2026-04. Auf einen bekannten guten Image-Tag für Stabilität festlegen; der Logger-Patch hängt insbesondere von Implementierungsdetails ab, die sich mit upstream-Änderungen verschieben könnten.
MIT — siehe LICENSE.