
असत्यापित Linux कर्नेल विशेषाधिकार-वृद्धि (privilege-escalation) PoC जो msg_msgseg क्रॉस-कैश पुन:उपयोग (cross-cache reuse) का उपयोग करके skb और pipe_buffer को ओवरलैप करता है, तथा /etc/passwd पढ़ने के लिए pipe फ़्लैग्स को बदलता है।
केवल प्रयोगात्मक अनुसंधान के लिए, prefetch और nperm का कोड (मेमोरी संदर्भ set.gdb सेट करना आवश्यक है) संलग्न नहीं है, अनुकूलन नहीं किया गया है, हिट संभावना कम है
लेखक ने देखा कि भेद्यता के लेखक ने इस भेद्यता से संबंधित जानकारी पहले ही जारी कर दी है: https://github.com/google/security-research/pull/414
exploit दृष्टिकोण बिल्कुल अलग है; चूँकि इस exploit दृष्टिकोण को पूर्ण रूप से सत्यापित नहीं किया गया है, इसलिए रूढ़िवादी राय रखी गई है (मुख्य रूप से, क्या sock स्पिन लॉक में रेस हो सकती है, लेखक ने वास्तविक रूप से परीक्षण नहीं किया है; कोड की आंशिक समझ के अनुसार, timerfd हार्ड इंटरप्ट के माध्यम से रेस की जा सकती है)
पूर्व विश्लेषण: https://xz.aliyun.com/news/92649
exploit दृष्टिकोण: msg_msgseg cross_cache के माध्यम से tipc_sock का पुनः उपयोग करता है, सभी checks को पार करने के लिए कुछ फ़ील्ड्स गढ़ता है और अंततः free करता है, फिर skb और pipe_buffer के बीच overlap निर्मित करता है, pipe_buffer के flags को संशोधित करता है (splice से केवल-पठनीय फ़ाइल /etc/passwd पढ़ना और फिर flags संशोधित करना, dirtypipe का विस्तारित exploit दृष्टिकोण)। चूँकि कर्नेल हीप (heap) पता लीक नहीं हुआ है, इसलिए गढ़ा गया sk->lock.wq स्वयं की ओर इंगित नहीं कर सकता; check पार करने के लिए curr->func (स्रोत कोड के लिए __wake_up_common कॉल श्रृंखला देखें) को ret के रूप में गढ़ा जाता है, इसलिए dataonly कार्यान्वयन विशेष रूप से पूर्ण नहीं है