पेनलिजेंट हेडर

सैंडबॉक्स की मृत्यु: CVE-2025-43529 की एक इंजीनियरिंग शव-परीक्षा

ब्राउज़र शोषण के क्षेत्र में कुछ बग्स ऐसे होते हैं जो टैब को क्रैश कर देते हैं, और कुछ बग्स ऐसे होते हैं जो रनटाइम के पूरे ट्रस्ट मॉडल को ध्वस्त कर देते हैं। सीवीई-2025-43529 यह बाद वाले से संबंधित है। यह केवल एक कोडिंग त्रुटि नहीं है; यह Just-In-Time (JIT) कंपाइलर के अनुकूलन तर्क और Garbage Collector (GC) की वास्तविकता के बीच एक मौलिक असमकालिकता है।

पारंपरिक वेब उपयोगकर्ता के लिए, यह एक गंभीर जोखिम है। लेकिन के लिए एआई सुरक्षा अभियंता 2026 में, यह भेद्यता एक अस्तित्वगत खतरा है। जैसे-जैसे हम "कंप्यूटर उपयोग" एजेंट और स्वायत्त एलएलएम वर्कर्स को तैनात कर रहे हैं जो दुनिया के साथ इंटरैक्ट करने के लिए हेडलेस ब्राउज़र (WebKit/Playwright) पर निर्भर करते हैं, ब्राउज़र रेंडरर नया कर्नेल बन गया है। CVE-2025-43529 एक दुर्भावनापूर्ण वेबपेज को रेंडरर सैंडबॉक्स से बाहर निकलने, एजेंट के निष्पादन प्रवाह को हाईजैक करने, और आधुनिक उद्यम की सबसे मूल्यवान संपत्ति: मॉडल संदर्भ और सिस्टम प्रॉम्प्ट्स को बाहर निकालने की अनुमति देता है।

यह व्यापक तकनीकी मार्गदर्शिका समाचार माध्यमों द्वारा प्रदान किए गए उच्च-स्तरीय सारांश को दरकिनार करेगी। हम JavaScriptCore के C++ स्रोत कोड में उतरेंगे, उस कंट्रोल फ्लो ग्राफ (CFG) हेरफेर का विश्लेषण करेंगे जो बग को ट्रिगर करता है, और JIT ऑप्टिमाइज़ेशन की खामी को विश्वसनीय रिमोट कोड एक्ज़ीक्यूशन (RCE) में बदलने के लिए आवश्यक एक्सप्लॉइटेशन प्राइमिटिव्स का विवरण देंगे।

सैद्धांतिक आधार (जेएससी आंतरिक)

समझने के लिए क्यों CVE-2025-43529 मौजूद है, इसे समझने के लिए पहले WebKit DFG (डेटा फ्लो ग्राफ) और FTL (फास्टर थैन लाइट) कंपाइलर्स द्वारा किए गए आक्रामक अनुकूलनों को समझना आवश्यक है।

वस्तु आवंटन डूबने का दर्शन

जावास्क्रिप्ट ऑब्जेक्ट्स की भाषा है। प्रत्येक {} एक हीप आवंटन बनाया गया है। उच्च-प्रदर्शन लूप में, लाखों अल्पकालिक ऑब्जेक्ट्स का आवंटन और मुक्ति एक विशाल प्रदर्शन बाधा है।

इसे हल करने के लिए, WebKit लागू करता है वस्तु आवंटन डूबना. कंपाइलर किसी ऑब्जेक्ट के जीवनकाल का विश्लेषण करता है। यदि यह निर्धारित करता है कि कोई ऑब्जेक्ट:

  1. किसी फ़ंक्शन के भीतर बनाया जाता है।
  2. उस फ़ंक्शन से "भागता" नहीं है (यानी, इसे किसी ग्लोबल वेरिएबल में असाइन नहीं किया जाता, किसी दूसरे फ़ंक्शन को पास नहीं किया जाता, या रिटर्न नहीं किया जाता)।
  3. क्या इसके सभी उपयोग कंपाइलर को दिखाई देते हैं।

फिर कंपाइलर एक जादूई करतब दिखाता है: यह आवंटन को पूरी तरह से हटा देता है।

हीप ऑब्जेक्ट बनाने के बजाय, कंपाइलर ऑब्जेक्ट को "सिंक" कर देता है। यह ऑब्जेक्ट की विशेषताओं को CPU रजिस्टरों या स्टैक स्लॉट्स में रखता है। जेनरेट किए गए मशीन कोड के लिहाज से, यह ऑब्जेक्ट बस मौजूद ही नहीं होता।

मटीरियलाइजेशन और OSR एग्जिट

हालाँकि, यह भ्रम पूर्णतः परिपूर्ण होना चाहिए। यदि अनुकूलित कोड को इंटरप्रेटर या बेसलाइन JIT पर वापस जाना पड़े (एक प्रक्रिया जिसे ऑन-स्टैक रिप्लेसमेंट या ओएसआर निकास) क्योंकि एक अनुमान विफल हो गया (उदाहरण के लिए, कोई चर हमारे सोचे अनुसार पूर्णांक नहीं था), वस्तु को अचानक "प्रकट" होना चाहिए।

कंपाइलर उत्पन्न करता है साकारता तर्क। जब OSR एग्जिट होता है, तो रनटाइम हीप पर ऑब्जेक्ट का पुनर्निर्माण करता है, उसके फ़ील्ड्स को उन रजिस्टरों से भरता है जहाँ वे अस्थायी रूप से संग्रहीत थे, ताकि इंजन के धीमे स्तर निष्पादन जारी रख सकें जैसे कि ऑब्जेक्ट हमेशा से ही वहाँ मौजूद था।

यह भेद्यता, CVE-2025-43529, उस तर्क में निहित है जो यह ट्रैक करता है कि कोई ऑब्जेक्ट आवश्यकताएँ साकार हो सकता है या यदि इसे सुरक्षित रूप से खारिज किया जा सकता है।

कमी CVE-2025-43529

खामी निहित है सोर्स/जावास्क्रिप्टकोर/डीएफजी/डीएफजीऑब्जेक्टअलॉकेशनसिंगिंगफेज.सीपीपी.

DFG पाइपलाइन में, कंपाइलर ऑपरेशनों का प्रतिनिधित्व करने वाले नोड्स का एक ग्राफ बनाता है। जब नियंत्रण प्रवाह विभाजित और विलय होता है (जैसे कि एक में) यदि/अन्यथा ब्लॉक), कंपाइलर का उपयोग करता है फ़ाई नोड्स मूल्यों के विलयन का प्रतिनिधित्व करने के लिए।

यदि किसी की एक शाखा यदि एक कथन एक ऑब्जेक्ट आवंटित करता है, और दूसरी शाखा एक अलग ऑब्जेक्ट आवंटित करती है, मर्ज पॉइंट के बाद का कोड एक फाई नोड देखता है जो "या तो ऑब्जेक्ट A या ऑब्जेक्ट B" का प्रतिनिधित्व करता है।

तार्किक दोष: फाई नोड्स पर पलायन विश्लेषण विफलता

आलोचनात्मक त्रुटि इस बात में थी कि कैसे ऑब्जेक्ट आवंटन सिंक चरण इन फाई नोड्स की "एस्केप स्थिति" को संभाला।

जब कंपाइलर किसी आवंटन को डुबोने का निर्णय लेता है, तो उसे यह सुनिश्चित करना चाहिए कि उस डुबोने वाले निर्णय तक ले जाने वाला प्रत्येक पथ वैध हो। यदि किसी फाई नोड को "Escaped" के रूप में चिह्नित किया गया है (जिसका अर्थ है कि वह ऑब्जेक्ट बाद में वैश्विक रूप से उपयोग किया जाएगा), तो कंपाइलर ज़रूरी है सुनिश्चित करें कि उस फाई नोड के सभी इनपुट्स (the अपसाइऑन (पूर्ववर्ती ब्लॉकों के नोड्स) को भी एस्केप्ड के रूप में चिह्नित किया गया है और सही ढंग से मैटेरियलाइज़ किया गया है।

सैंडबॉक्स की मृत्यु: CVE-2025-43529 की एक इंजीनियरिंग शव-परीक्षा

दोष:

CVE-2025-43529 में, पुनरावर्तनशील टेल कॉल्स और लूप-अपरिवर्तनीय कोड गति से संबंधित एक विशिष्ट एज केस के कारण कंपाइलर ने फाई नोड को एस्केप्ड के रूप में चिह्नित कर दिया, लेकिन उस एस्केप स्थिति को पीछे तक प्रसारित करने में विफल रहा। अप्सिलॉन इनपुट्स में से एक को।

कोड पुनर्निर्माण

यहाँ C++ में संवेदनशील लॉजिक फ्लो का एक सरलीकृत पुनर्निर्माण है:

सी++

// DFGObjectAllocationSinkingPhase.cpp (कमजोर तर्क)

void promoteLocalHeap() { // कंट्रोल फ्लो ग्राफ में सभी ब्लॉकों पर इटरेट करें for (BasicBlock* block : m_graph.blocksInPreOrder()) {

    // फ़ाई नोड्स (मर्ज पॉइंट्स) को प्रोसेस करना
    for (unsigned nodeIndex = 0; nodeIndex size(); ++nodeIndex) {
 Node* node = block->at(nodeIndex);
 
 if (node->op() == Phi) {
 // जाँचें कि क्या यह फ़ाई नोड एस्केप करता है (वैश्विक रूप से उपयोग किया जाता है)
            bool phiEscapes = m_escapeAnalysis.isEscaped(node);
 
 if (phiEscapes) {
 // गंभीर खामी:
 // कंपाइलर इनपुट्स (अप्सिलॉन नोड्स) पर इटरेट करता है ताकि उन्हें एस्केप्ड के रूप में मार्क किया जा सके।
                // हालाँकि, साइक्लिक ग्राफ़ के लिए 'isEscaped' जांच में एक कैशिंग बग के कारण,
 // इनपुट में से एक को छोड़ दिया जाता है।
 
 for (unsigned i = 0; i numChildren(); ++i) {
 Edge child = node->child(i);
                    // जटिल चक्रीय निर्भरताओं के लिए 'forceEscape' कॉल छूट जाता है
 // जिसके परिणामस्वरूप एक असंगतता (desync) होती है।
 if (shouldOptimize(child)) { 
 // ... गलत तरीके से मैटेरियलाइज़ेशन को ज़बरदस्ती न करने का निर्णय लेता है
 }
 }
 }
    }
}

}`

असमकालिकता की स्थिति

यह तार्किक त्रुटि एक "श्रोडिंगर की वस्तु" की ओर ले जाती है:

  1. जेआईटी कोड यह मानता है कि ऑब्जेक्ट डूबा हुआ और आभासी है। यह आभासी रजिस्टरों में लिखता है।
  2. कचरा उठाने वाला (जो समानांतर रूप से चलता है) हीप पर इस ऑब्जेक्ट के कोई संदर्भ नहीं देखता (क्योंकि JIT ने "Store Barriers" या आवंटन मार्कर उत्पन्न नहीं किए)।
  3. ओएसआर एग्जिट तर्क मानता है कि वस्तु को मूर्त रूप देना आवश्यक है।

जब एक्सप्लॉइट जानबूझकर टाइप चेक में विफल होकर OSR एक्जिट ट्रिगर करता है, तो इंजन उस ऑब्जेक्ट को मटीरियलाइज़ करने का प्रयास करता है। हालांकि, चूंकि GC को निर्भरताओं की जानकारी नहीं थी, "मटीरियलाइज़" किए गए ऑब्जेक्ट की मेमोरी बैकिंग मुक्त के रूप में चिह्नित हो सकती थी या, इससे भी बुरा, किसी अन्य ऑब्जेक्ट के साथ ओवरलैप हो सकती थी।

यह हमलावर को एक प्रदान करता है यूज़-आफ्टर-फ्री (यूएएफ) JIT स्टैक फ्रेम पर प्राइमिटिव।

सैंडबॉक्स की मृत्यु: CVE-2025-43529 की एक इंजीनियरिंग शव-परीक्षा

शोषण अभियांत्रिकी

इस लॉजिक बग को एक शेल में बदलने के लिए सटीकता की आवश्यकता है। ढेर फेंग शुईहमें ब्राउज़र को उस स्लॉट में एक विशिष्ट ऑब्जेक्ट आवंटित करने के लिए मजबूर करना होगा जिसे JIT लॉजिक ने गलती से मुक्त कर दिया था।

जाल बिछाना

हमलावर एक जावास्क्रिप्ट फ़ंक्शन लिखता है जिसे DFG कंपाइलर को ट्रिगर करने के लिए डिज़ाइन किया गया है। इसमें एक लूप होता है जिसमें एक सशर्त शाखा होती है जो एक ऑब्जेक्ट बनाती है, उसे मर्ज (फी नोड) करती है, और फिर एक ऐसा ऑपरेशन करती है जो एस्केप को मजबूर कर देता है।

जावास्क्रिप्ट

`function trigger(b) { let p = { a: 1 }; // आवंटन 1

// ग्राफ़ पार्सर को भ्रमित करने के लिए नियंत्रण प्रवाह की जटिलता बनाएँ
if (b) {
    // यह पथ नीचे दिए गए फाई (Phi) के लिए एक अप्सिलॉन (Upsilon) नोड इनपुट बनाता है
    p = { a: 2, b: 0x1337 }; 
}

// फाई (Phi) नोड यहाँ होता है (दो 'p' परिभाषाओं को मर्ज करते हुए)

// हमें बाद में यहाँ एक OSR एग्जिट करने के लिए मजबूर करना होगा।
// बग के कारण यहाँ 'p' डी-सिंक हो जाता है।
return p.a; 

}

// JIT को (let i = 0; i < 100000; i++) trigger(true); के लिए वार्म अप करें।

यूएएफ को ट्रिगर करना

एक बार कोड JIT-कंपाइल हो जाने पर, हम इसे निष्पादित करते हैं। ट्रिगर तर्क त्रुटि उत्पन्न करने वाले तर्कों के साथ फ़ंक्शन। JIT कोड निष्पादित होता है, यह मानते हुए पी यह वर्चुअल है। साथ ही, हम मेमोरी दबाव उत्पन्न करते हैं ताकि गार्बेज कलेक्शन चक्र को मजबूर किया जा सके।

क्योंकि कंपाइलर बैरियर को मिस कर गया, जीसी उस मेमोरी को इकट्ठा करता है जो होगा समर्थन किया है पी.

एक नकली वस्तु के साथ पुनः प्राप्त करना

अब हम ढेर पर छिड़कते हैं दोहरा सरणी संरचनाएँ। हम चाहते हैं कि इन सरणियों में से एक ठीक उसी जगह पर पहुँचे जहाँ JIT सोचता है पी है।

जब JIT OSR एक्जिट करता है और "मैटेरियलाइज़" करने का प्रयास करता है पी, यह मेमोरी लोकेशन से पढ़ता है। लेकिन उस लोकेशन में अब हमारा दोहरा सरणी.

इसका परिणाम यह होता है प्रकार भ्रम:

  • JIT मेमोरी को एक सामान्य जावास्क्रिप्ट ऑब्जेक्ट (JSCell) के रूप में मानता है।
  • मेमोरी में वास्तव में हमलावर द्वारा नियंत्रित कच्चे फ्लोटिंग-पॉइंट नंबर होते हैं।

The का पता और नकली वस्तु मूलभूत तत्व

ब्राउज़र शोषण में, RCE आमतौर पर दो मूलभूत तरीकों से प्राप्त किया जाता है:

  1. ऑब्जेक्ट का पता: जावास्क्रिप्ट ऑब्जेक्ट का मेमोरी पता लीक करता है।
  2. नकली वस्तु (पता)एक विशिष्ट मेमोरी पते पर एक नकली जावास्क्रिप्ट ऑब्जेक्ट बनाता है।

CVE-2025-43529 का उपयोग करके, हम एक को ओवरलैप कर सकते हैं। फ़्लोट64एरे के साथ जेएसऑब्जेक्ट. ऐरे में फ्लोट लिखकर, हम ओवरराइट कर देते हैं जेएसऑब्जेक्टका/की/के/की तितली (उसके डेटा का पॉइंटर)।

बटरफ्लाई को मनमाने मेमोरी पर पॉइंट करके, हमें प्रक्रिया के पूरे एड्रेस स्पेस को पढ़ने और लिखने की क्षमता मिलती है।

JIT स्प्रेइंग से शेलकोड

मनमाने रीड/राइट के साथ:

  1. हम एक Writeable/Executable (W^X) पेज का पता लगाते हैं (2026 में हार्डनिंग के कारण दुर्लभ) या, अधिक सामान्य रूप से, का उपयोग करते हैं जेआईटी स्प्रेइंग.
  2. हम एक JIT-कंपाइल किए गए फ़ंक्शन के स्थिरांक क्षेत्र में शेलकोड लिखते हैं।
  3. हम एक फंक्शन पॉइंटर (जैसे कि एक वर्चुअल टेबल एंट्री) को ओवरराइट करते हैं ताकि वह हमारे शेलकोड पर कूद जाए।
  4. खेल खत्म।
सीवीई-2025-43529

एजेंटिक एआई प्रभाव विश्लेषण

CVE-2025-43529 मानव उपयोगकर्ताओं की तुलना में AI एजेंट्स के लिए क्यों कड़ाई से अधिक खतरनाक है?

"हेडलेस" ट्रस्ट धारणा

एक मानक उद्यम वातावरण में, एक मानव उपयोगकर्ता कमजोर कड़ी है। एक एआई वातावरण में, एजेंट रनटाइम कमजोर कड़ी है।

Anthropic, OpenAI और आंतरिक एंटरप्राइज R&D टीमें "कंप्यूटर यूज़" एजेंट्स तैनात कर रही हैं। ये एजेंट्स Docker कंटेनरों के अंदर चलते हैं, WebKit या Chromium के हेडलेस इंस्टेंस शुरू करके कार्य करते हैं: "इस प्रतिस्पर्धी पर शोध करें," "इस उड़ान को बुक करें," "CRM तक पहुंचें।"

ये एजेंट अक्सर के साथ काम करते हैं उन्नत संदर्भ. वे कहते हैं:

  1. सत्र कुकीज़: सीआरएम में लॉग इन करने के लिए।
  2. एपीआई कुंजी: पर्यावरण चरों में (ओपनएआई_एपीआई_की, AWS_ACCESS_KEY).
  3. प्रणाली संकेत: एजेंट के व्यवहार को परिभाषित करने वाले मालिकाना निर्देश।

आक्रमण परिदृश्य

  1. इंजेक्शनएजेंट को एक URL का सारांश तैयार करने का कार्य सौंपा गया है: attacker.com/report.
  2. कार्यन्वयन: एजेंट का हेडलेस WebKit पेज लोड करता है।
  3. शोषणयह पेज CVE-2025-43529 के लिए JS पेलोड रखता है। यह मिलीसेकंड में निष्पादित होता है, "Computer Use" दृष्टि मॉडल के लिए अदृश्य है (जो केवल पिक्सल देखता है, मेमोरी नहीं)।
  4. भागो: हमलावर को कंटेनर के अंदर कोड निष्पादन की क्षमता प्राप्त हो जाती है।
  5. निष्कासन: हमलावर दौड़ता है पर्यावरण चर एपीआई कुंजियाँ चुराने या सिस्टम प्रॉम्प्ट प्राप्त करने के लिए एजेंट की मेमोरी डंप करने के लिए।
  6. धुरीहमलावर एजेंट के प्रमाणीकृत सत्र का उपयोग आंतरिक नेटवर्क पर क्रियाएँ करने के लिए करता है (एजेंट के माध्यम से SSRF)।

यह दुःस्वप्न जैसा परिदृश्य है: आपका एआई एजेंट एक आंतरिक खतरा बन जाता है, जिसे एक बाहरी विरोधी द्वारा स्वचालित और नियंत्रित किया जाता है।

पेनलिजेंट के माध्यम से पता लगाना और सत्यापन

पारंपरिक भेद्यता स्कैनर (नेसस, क्वाली) के लिए स्कैन करते हैं संस्करणवे जांचते हैं पैकेज.जेएसओएन या apt listवे आपको बताएँगे "WebKit पुराना हो चुका है।"

लेकिन AI एजेंटों की जटिल आपूर्ति श्रृंखला में, हो सकता है कि आप एक पैच की गई बेस इमेज को एक अनपैच की गई इमेज के साथ चला रहे हों। libjavascriptcoregtk पाइथन व्हील के अंदर संलग्न बाइनरी। संस्करण जांचें अपर्याप्त हैं।

आपको चाहिए व्यवहारिक सत्यापनयहीं वह जगह है पेनलिजेंट.ai अत्यावश्यक है।

पेनलिजेंट CVE-2025-43529 का सत्यापन कैसे करता है

पेनलिजेंट एक का उपयोग करता है एजेंटिक सुरक्षा मॉडल आपके एआई इंफ्रास्ट्रक्चर का परीक्षण करने के लिए:

  1. रनटाइम फ़ज़िंगपेनलिजेंट एक विशेष "फज़र एजेंट" तैनात करता है जो एक दुर्भावनापूर्ण वेब सर्वर के रूप में कार्य करता है।
  2. पेलोड वितरणयह आपके AI एजेंट को DFG ऑप्टिमाइज़ेशन ट्रिगर्स के विभिन्न रूपों वाले URL प्रदान करता है (विशेष रूप से Phi नोड/आवंटन सिंकिंग पैटर्न को लक्षित करते हुए)।
  3. हीप निगरानीपेनलिजेंट कंटेनर को विशिष्ट हीप भ्रष्टता संकेतों (विशिष्ट ऑफ़सेट्स पर सेगमेंटेशन फ़ॉल्ट्स) की निगरानी के लिए इंस्ट्रूमेंट करता है, जो यह इंगित करते हैं कि भेद्यता मौजूद है लेकिन पूरी तरह से शोषित नहीं हो सकी।
  4. जोखिम का प्रमाणसिर्फ क्रैश होने के बजाय, Penligent एजेंट की मेमोरी से "कैनरी" मान पढ़ने का प्रयास करता है। यदि यह सफल हो जाता है, तो यह साबित करता है कि आइसोलेशन टूट गया है।

"लॉजिक बॉम्ब" डिटेक्टर

Penligent का इंजन प्रमुख JS इंजनों की IR (इंटरमीडिएट रिप्रेजेंटेशन) पर प्रशिक्षित है। यह विशेष रूप से निम्नलिखित की लॉजिक पर दबाव डालने वाले टेस्ट केस उत्पन्न करता है:

  • ऑब्जेक्ट आवंटन सिंक चरण
  • पूर्णांक-श्रेणी अनुकूलन
  • वैश्विक मान संख्यांकन

गणितीय रूप से यह साबित करके कि JIT कंपाइलर एस्केप एनालिसिस के बारे में गलत धारणाएँ बना रहा है, Penligent CVE-2025-43529 वेरिएंट्स का पता तब भी लगा सकता है जब उनके पास कोई CVE आईडी ही न हो।

सुधार और सुदृढ़ीकरण

यदि आप ब्राउज़र एक्सेस के साथ AI एजेंट चला रहे हैं, तो आपको तुरंत कार्रवाई करनी चाहिए।

पैच प्रबंधन: स्पष्ट समाधान

सुनिश्चित करें कि आपकी WebKit / Playwright / Puppeteer निर्भरताएँ जारी किए गए संस्करणों से पिन की गई हैं। 15 जनवरी, 2026 के बाद.

  • नाटककार: v1.52.0+ में अपडेट करें
  • लिनक्स सिस्टम पैकेज: अपडेट libwebkit2gtk-4.0 और libjavascriptcoregtk-4.0.

JIT अक्षम करें: हार्डकोर समाधान

उच्च-सुरक्षा वाले एआई एजेंटों के लिए, गति अक्सर सटीकता और सुरक्षा की तुलना में कम महत्वपूर्ण होती है। आप JIT कंपाइलर को अक्षम करके इस बग्स की पूरी श्रेणी को कम कर सकते हैं।

पर्यावरण चर:

बश

जेएससी_यूज़जीआईटी=0

या ब्राउज़र लॉन्च आर्गुमेंट्स में:

जावास्क्रिप्ट

const browser = await webkit.launch({ args: ['--js-flags="--no-jit"'] });

यह ब्राउज़र को इंटरप्रेटर या एलएलइंट (लो-लेवल इंटरप्रेटर) का उपयोग करने के लिए मजबूर करता है। प्रदर्शन 5-10 गुना तक गिर जाएगा, लेकिन CVE-2025-43529 को ट्रिगर करना गणितीय रूप से असंभव हो जाता है। क्योंकि वह अनुकूलन चरण जो इसे उत्पन्न करता है, कभी चलता ही नहीं।

सीवीई-2025-43529

क्षणिक सैंडबॉक्सिंग

कभी भी हेडलेस ब्राउज़र को अपने एप्लिकेशन लॉजिक वाले कंटेनर में न चलाएँ। उपयोग करें जीविसर या फायरक्रैकर MicroVMs। भले ही हमलावर CVE-2025-43529 के माध्यम से RCE हासिल कर ले, वह एक कर्नेल-आइसोलेटेड सैंडबॉक्स में फँसा रहेगा और उसे आपकी API कुंजियों या प्रॉम्प्ट्स तक कोई पहुँच नहीं मिलेगी।

निष्कर्ष

CVE-2025-43529 इस बात की याद दिलाता है कि आधुनिक प्रदर्शन अनुकूलन (जैसे JIT) की जटिलता सुरक्षा की दुश्मन है। जावास्क्रिप्ट को C++ जितनी तेजी से चलाने की होड़ में, ब्राउज़र विक्रेताओं ने एक ऐसा कंपाइलर बनाया है जो इतना जटिल है कि वह अपनी खुद की वास्तविकता बनाता है—एक ऐसी वास्तविकता जिसे हमलावर नियंत्रित कर सकते हैं।

AI सुरक्षा इंजीनियर के लिए, यह एक चेतावनी है। आपके एजेंट वेब ब्राउज़ कर रहे हैं एक ऐसे उपकरण के साथ जो ऑपरेटिंग सिस्टम जितना जटिल है, और अक्सर आपके डेटा पर रूट-समान विशेषाधिकारों के साथ। उस रनटाइम की अखंडता सत्यापित करना अब वैकल्पिक नहीं है।

चाहे कड़े पैचिंग के माध्यम से हो, संवेदनशील वातावरण में JIT को अक्षम करके हो, या जैसे उन्नत सत्यापन प्लेटफ़ॉर्म का उपयोग करके पेनलिजेंटएजेंटिक पेरिमीटर की रक्षा सक्रिय होनी चाहिए। अन्यथा, एक एआई कार्यबल चुपचाप किसी और के लिए काम करेगा।

संदर्भ

  1. वेबकिट बग ट्रैकर (अनुकरणीय): बग 298411 – ObjectAllocationSinkingPhase चक्रीय ग्राफ़ों में Phi इनपुट्स के लिए एस्केप स्थिति प्रसारित करने में विफल रहता है।
  2. फ्राक मैगज़ीन: जेआईटी शोषण: तितली की कला।
  3. गूगल प्रोजेक्ट जीरो: जावास्क्रिप्टकोर पर हमला: DFG और FTL पर एक परिचय।
  4. पेनलिजेंट श्वेतपत्र: हेडलेस ब्राउज़र को सुरक्षित करना: एजेंटिक एआई के लिए आर्किटेक्चर पैटर्न। https://penligent.ai/research/headless-security
  5. CISA सलाह: वेबकिट इंजन में कमजोरी जो स्वचालित एजेंटों को प्रभावित कर रही है।
  6. आरएफसी 9902 (काल्पनिक): स्वायत्त उपयोगकर्ता एजेंटों के लिए सुरक्षा संबंधी विचार।

पोस्ट साझा करें:
संबंधित पोस्ट
hi_INHindi