
algertc/alpr-dashboard के लिए रनटाइम पैच: async लॉगर फिक्स और CVE-2025-29927 nginx शमन
algertc/alpr-dashboard Docker प्रोजेक्ट के लिए दो ड्रॉप-इन पैच। दोनों को अपस्ट्रीम इमेज को संशोधित या रीबिल्ड किए बिना तैनात किया जा सकता है।
logger-fix/ — async लॉगर + क्लीनअप थ्रॉटलहर लॉग कॉल पर पूरी-फ़ाइल रीड + रीराइट करने वाले बिल्ट-इन sync लॉग ट्रांसपोर्ट को appendFileSync-प्रति-कॉल राइटर और प्रति-मिनट एक बार होने वाले विलंबित ट्रिम से बदल देता है। साथ ही per-POST इमेज-क्लीनअप स्कैन की दर सीमित करता है।
मापा गया प्रभाव (130 KB base64 इमेज पेलोड, वास्तविक Blue Iris अलर्ट से मेल खाता हुआ): प्लेट-रीड दरें जो मूल सर्वर को अनुत्तरदायी बना देती थीं (प्रति परीक्षण विंडो में 60 में से 0 POST पूरे होते थे), अब स्थिर CPU और पूर्ण थ्रूपुट के साथ चलती हैं।
पूरा सरफेस प्लॉट और कच्चा डेटा logger-fix/perf/ में।
middleware-exploit-mitigation/ — CVE-2025-29927 nginx ओवरलेशिप की गई इमेज Next.js 15.0.3 का उपयोग करती है, जो CVE-2025-29927 (CVSS 9.1, x-middleware-subrequest हेडर के माध्यम से auth बायपास) के प्रति संवेदनशील है। इसे अपस्ट्रीम में Next.js >= 15.2.3 में ठीक किया गया है, लेकिन अपस्ट्रीम इमेज को अपडेट किए बिना पैच नहीं किया जा सकता।
यह पैच ऐप के सामने एक nginx:alpine साइडकार लगाता है जो हर प्रॉक्सी किए गए अनुरोध पर बायपास हेडर को हटा देता है। कोई ऐप बदलाव नहीं, कोई इमेज रीबिल्ड नहीं।
global.__loggerInitialized) और fileStorage.cleanupOldFiles द्वारा fs/promises.readdir के उपयोग से जुड़ा है। यह आज के logger.js और स्टोरेज कोड के साथ काम करता है, लेकिन यह "सही" फिक्स नहीं है — सही फिक्स अपस्ट्रीम कोड में LimitedLineTransport को एक नॉन-ब्लॉकिंग इम्प्लीमेंटेशन से बदलना है। यह पैच तब तक सुरक्षित रूप से चलाने का एक तरीका है जब तक ऐसा नहीं होता।दोनों पैच अपस्ट्रीम रिलीज़ से स्वतंत्र रूप से इंस्टॉल करने और रिवर्ट करने में आसान हैं।
2026-04 तक algertc/alpr-dashboard:latest के विरुद्ध परीक्षण किया गया। स्थिरता के लिए किसी ज्ञात-अच्छे इमेज टैग पर पिन करें; विशेष रूप से लॉगर पैच ऐसे इम्प्लीमेंटेशन विवरणों पर निर्भर करता है जो अपस्ट्रीम बदलावों के साथ बदल सकते हैं।
MIT — देखें LICENSE।