
CVE-2024-30350 पर शोध नोट्स, जो Foxit PDF Reader एनोटेशन हैंडलिंग में एक out-of-bounds read है, जिसमें triage, disclosure और रक्षात्मक मार्गदर्शन शामिल है।
CVE-2024-30350, Foxit PDF Reader में एक out-of-bounds read सूचना प्रकटीकरण भेद्यता है। यह समस्या Trend Micro Zero Day Initiative द्वारा ZDI-24-333 के रूप में प्रकाशित की गई थी और प्रकटीकरण से पहले इसे ZDI-CAN-22708 के रूप में ट्रैक किया गया था।
सार्वजनिक सलाह में भेद्य क्षेत्र को Foxit PDF Reader के Annotation ऑब्जेक्ट्स के प्रबंधन के रूप में वर्णित किया गया है। एक तैयार किया गया PDF एप्लिकेशन को आवंटित बफर के अंत से आगे पढ़ने के लिए प्रेरित कर सकता है। शोषण के लिए उपयोगकर्ता इंटरैक्शन की आवश्यकता होती है, जैसे कि एक दुर्भावनापूर्ण PDF फ़ाइल खोलना या ऐसा पृष्ठ देखना जो उसे वितरित करता है। तत्काल प्रभाव संवेदनशील सूचना का प्रकटीकरण है, और सलाह में नोट किया गया है कि यह स्थिति अन्य भेद्यताओं के साथ श्रृंखलाबद्ध होने पर उपयोगी हो सकती है।
यह रिपॉजिटरी भेद्यता, अनुसंधान कार्यप्रवाह, ट्राइएज प्रक्रिया, और प्रकटीकरण नोट्स का दस्तावेजीकरण करती है। यह जानबूझकर एक हथियारबंद proof of concept शामिल नहीं करती है।
| फ़ील्ड | मान |
|---|
| CVE | CVE-2024-30350 |
| ZDI सलाह | ZDI-24-333 |
| ZDI केस | ZDI-CAN-22708 |
| उत्पाद | Foxit PDF Reader |
| विक्रेता | Foxit |
| घटक | Annotation ऑब्जेक्ट प्रबंधन |
| कमज़ोरी | Out-of-bounds read |
| CWE | CWE-125 |
| प्रभाव | सूचना प्रकटीकरण |
| CVSS | 3.3 |
| वेक्टर | CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N |
| विक्रेता रिपोर्ट तिथि | 2023-12-20 |
| सार्वजनिक सलाह तिथि | 2024-03-28 |
| सलाह अद्यतन तिथि | 2024-07-01 |
| द्वारा ठीक किया गया | Foxit PDF Reader 2024.1 और Foxit PDF Editor 2024.1 सुरक्षा अद्यतन |
Foxit के 5 मार्च, 2024 सुरक्षा बुलेटिन के अनुसार, प्रभावित Windows संस्करणों में Foxit PDF Reader 2023.3.0.23028 और पहले के संस्करण, तथा बुलेटिन में सूचीबद्ध संस्करणों तक कई Foxit PDF Editor रिलीज़ लाइनें शामिल थीं।
PDF एनोटेशन को पृष्ठ के /Annots ऐरे के माध्यम से पृष्ठों से जुड़े डिक्शनरी के रूप में दर्शाया जाता है। एक रीडर को एनोटेशन डिक्शनरी को पार्स करना, प्रत्यक्ष और अप्रत्यक्ष मानों को हल करना, ज्यामिति और उपस्थिति डेटा को सामान्यीकृत करना, और परिणाम को रेंडरिंग, चयन, संपादन, JavaScript, और एक्सेसिबिलिटी पथों में जोड़ना होता है।
CVE-2024-30350 के लिए बग वर्ग उस एनोटेशन पार्सिंग पाइपलाइन में एक सीमा सत्यापन विफलता है। एक विकृत एनोटेशन ऑब्जेक्ट Foxit PDF Reader को एक व्युत्पन्न लंबाई या ऑब्जेक्ट आकार पर भरोसा करने का कारण बन सकता है जो अब बैकिंग बफर से मेल नहीं खाता। भेद्य पथ के तहत, प्रोग्राम आवंटित ऑब्जेक्ट सीमा से आगे पढ़ सकता है। देखा गया विफलता मोड एनोटेशन प्रबंधन के दौरान एक एक्सेस वायलेशन था; स्मृति को अलग तरीके से व्यवस्थित करने पर, वही प्रिमिटिव आसन्न प्रक्रिया स्मृति को उजागर कर सकता है।
यह समस्या एक-क्लिक नेटवर्क भेद्यता नहीं थी। हमलावर को लक्षित उपयोगकर्ता को एक तैयार किए गए दस्तावेज़ को खोलने या एक डिलीवरी पृष्ठ तक पहुंचने के लिए मनाने की आवश्यकता थी जो दस्तावेज़ को खोलने का कारण बने। यह CVSS उपयोगकर्ता-इंटरैक्शन आवश्यकता में परिलक्षित होता है।
मूल जांच एक सामान्य फ़ाइल-फॉर्मेट फ़ज़िंग रन के बजाय जटिल PDF ऑब्जेक्ट परिवारों के केंद्रित ऑडिट के रूप में शुरू हुई। एनोटेशन प्रबंधन को चुना गया क्योंकि एनोटेशन पार्सर लॉजिक, UI व्यवहार, JavaScript एक्सपोज़र, और इंक्रीमेंटल दस्तावेज़ अद्यतनों के घने प्रतिच्छेदन पर स्थित हैं।
प्रारंभिक कॉर्पस में सामान्य दस्तावेज़ों को उच्च-विचरण एनोटेशन डिक्शनरी वाले सिंथेटिक पृष्ठों के साथ मिलाया गया था। जनरेटर ने ऐरे लंबाई, ऑब्जेक्ट इनडायरेक्शन, null मान, अप्रत्याशित प्रिमिटिव प्रकार, पुनरावर्ती संदर्भ, और उपस्थिति स्ट्रीम संयोजनों को विविध किया। सबसे उपयोगी नमूने पूरी तरह से यादृच्छिक नहीं थे। वे एनोटेशन सामान्यीकरण कोड तक पहुंचने के लिए पर्याप्त व्याकरण-जागरूक थे, लेकिन मूल पार्सर में धारणाओं का परीक्षण करने के लिए अभी भी पर्याप्त रूप से विकृत थे।
पहला संकेत एक क्रैश था जो केवल तब पुनरुत्पादित हुआ जब एक पृष्ठ में एक विशिष्ट विकृत एनोटेशन संरचना थी और एनोटेशन को इंटरैक्टिव प्रबंधन पथ के माध्यम से मजबूर किया गया था। दस्तावेज़ खोलना पृष्ठ को पार्स करने के लिए पर्याप्त था, लेकिन विश्वसनीय पुनरुत्पादन में सुधार तब हुआ जब दृश्य को ताज़ा किया गया, पृष्ठ को ज़ूम किया गया, या एनोटेशन ट्री को चयन या रेंडरिंग कोड द्वारा छुआ गया।
डिबगिंग ने समस्या को एनोटेशन ऑब्जेक्ट प्रोसेसिंग के दौरान हीप आवंटन के अंत से आगे पढ़ने तक सीमित कर दिया। क्रैश null डीरेफ़रेंस जैसा नहीं दिखा। विफल निर्देश ने एनोटेशन-संबंधित बफर के आसन्न स्मृति का उपभोग किया, और न्यूनतम नमूने में आकार संबंधों ने एक पार्स किए गए तार्किक गणना और उस ऑब्जेक्ट के लिए उपलब्ध वास्तविक भंडारण के बीच एक बेमेल का सुझाव दिया।
नमूने को बार-बार असंबंधित PDF ऑब्जेक्ट, पृष्ठ संसाधन, फ़ॉन्ट, मेटाडेटा, और स्ट्रीम हटाकर न्यूनतम किया गया जब तक कि केवल पृष्ठ ट्री, लक्ष्य पृष्ठ, और एनोटेशन संरचना शेष न रही। कम की गई फ़ाइल ने समान क्रैश हस्ताक्षर संरक्षित किया, जिसने इसे समन्वित प्रकटीकरण के लिए उपयुक्त बनाया।
ट्राइएज के बाद, निष्कर्ष Zero Day Initiative के माध्यम से प्रस्तुत किया गया। सार्वजनिक सलाह में विक्रेता रिपोर्ट तिथि 2023-12-20 है। समन्वित सलाह 2024-03-28 को प्रकाशित की गई थी, और Foxit ने 2024.1 अद्यतन लाइन में समस्या का समाधान किया।
प्रत्यक्ष प्रभाव Foxit PDF Reader प्रक्रिया से स्मृति का प्रकटीकरण है। अलगाव में, इसका आमतौर पर सीमित गोपनीयता प्रभाव होता है। हालांकि, एक अधिक पूर्ण शोषण श्रृंखला में, एक out-of-bounds read हीप सामग्री, ऑब्जेक्ट पॉइंटर, आवंटन लेआउट, या अन्य प्रक्रिया स्थिति को लीक करने के लिए मूल्यवान हो सकता है जो एक अलग स्मृति भ्रष्टाचार भेद्यता को विश्वसनीय बनाने के लिए आवश्यक है।
यह कम स्टैंडअलोन CVSS स्कोर की व्याख्या करता है जबकि अभी भी शोषण श्रृंखला सख्त करने के लिए समस्या को सार्थक बनाता है।
उपयोगकर्ताओं को Foxit PDF Reader और Foxit PDF Editor को ठीक किए गए संस्करणों में अद्यतन करना चाहिए। अविश्वसनीय PDF को संभालने वाले संगठनों को Protected View, Safe Reading Mode, फ़ाइल प्रतिष्ठा नियंत्रण, अटैचमेंट फ़िल्टरिंग, और एंडपॉइंट शोषण शमन को भी सक्षम रखना चाहिए।
पार्सर डेवलपर्स के लिए, मुख्य सबक यह है कि एनोटेशन डिक्शनरी को अविश्वसनीय संरचित इनपुट के रूप में माना जाना चाहिए, भले ही आसपास का PDF वाक्यात्मक रूप से वैध हो। व्युत्पन्न लंबाई, सामान्यीकृत ऐरे, हल किए गए अप्रत्यक्ष ऑब्जेक्ट, और कैश्ड ऑब्जेक्ट प्रतिनिधित्व को पार्सर, रेंडरर, स्क्रिप्टिंग, और UI कोड के बीच प्रत्येक सीमा पर मान्य किया जाना चाहिए।
| पथ | उद्देश्य |
|---|---|
README.md | मुख्य भेद्यता अवलोकन |
docs/discovery-process.md | एंड-टू-एंड अनुसंधान कथा |
docs/advisory-notes.md | सार्वजनिक सलाह तथ्य और संदर्भ |
docs/triage-checklist.md | PDF रीडर क्रैश ट्राइएज के लिए उपयोग की जाने वाली सामान्य चेकलिस्ट |