OpenEXR में LossyDctDecoder_execute में एक गलत संरेखण वाली लेखन है, जिससे अपरिभाषित व्यवहार होता है (DWA/DWAB डीकंप्रेशन)
प्लेटफ़ॉर्म
c
कॉम्पोनेन्ट
openexr
ठीक किया गया
3.2.7
OpenEXR, मोशन पिक्चर उद्योग के लिए एक छवि भंडारण प्रारूप, EXR फ़ाइल प्रारूप के विनिर्देश और संदर्भ कार्यान्वयन प्रदान करता है। 3.2.0 से 3.2.7, 3.3.9, और 3.4.9 से पहले, src/lib/OpenEXRCore/internal_dwa_decoder.h:749 में LossyDctDecoder_execute() में एक गलत संरेखण वाली मेमोरी लेखन भेद्यता मौजूद है। जब एक DWA या DWAB-संपीड़ित EXR फ़ाइल को डिकोड किया जाता है जिसमें FLOAT-प्रकार का चैनल होता है, तो डीकोडर एक इन-प्लेस HALF→FLOAT रूपांतरण करता है, एक संरेखित uint8_t * पंक्ति पॉइंटर को float * में कास्ट करके और इसके माध्यम से लिखकर। क्योंकि पंक्ति बफर 4-बाइट संरेखित नहीं हो सकता है, यह C मानक के तहत अपरिभाषित व्यवहार का गठन करता है और उन आर्किटेक्चर पर तुरंत क्रैश हो जाता है जो संरेखण को लागू करते हैं (ARM, RISC-V, आदि)। x86 पर, इसे रनटाइम पर चुपचाप सहन किया जाता है लेकिन संकलक अनुकूलन के माध्यम से शोषण योग्य रहता है जो संरेखित पहुंच मानते हैं। यह भेद्यता 3.2.7, 3.3.9, और 3.4.9 में ठीक की गई है।
कैसे ठीक करें
कोई आधिकारिक पैच उपलब्ध नहीं है। वैकल्पिक समाधान खोजें या अपडेट की निगरानी करें।
अपनी निर्भरताओं की स्वचालित निगरानी करें
जब नई कमज़ोरियाँ आपके प्रोजेक्ट को प्रभावित करें तो अलर्ट पाएं।
मुफ़्त शुरू करें