
CVE-2026-31431
लिनक्स कर्नेल में एक आश्चर्यजनक रूप से सरल लेकिन घातक स्थानीय विशेषाधिकार वृद्धि
CVE-2026-31431 (उपनाम "Copy Fail") लिनक्स कर्नेल के क्रिप्टोग्राफिक सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) भेद्यता है, जो विशेष रूप से algif_aead इंटरफ़ेस को प्रभावित करती है।
एक गैर-विशेषाधिकार प्राप्त स्थानीय उपयोगकर्ता इस दोष का फायदा उठाकर सिस्टम पर किसी भी पठनीय फ़ाइल के पेज कैश में नियंत्रित 4-बाइट राइट कर सकता है — जिसमें setuid बाइनरी भी शामिल हैं — जिससे अंततः रूट के रूप में मनमाना कोड निष्पादन संभव हो जाता है।
यह भेद्यता 2017 में कमिट 72548b093ee3 ("crypto: algif_aead - support in-place operations") द्वारा पेश की गई थी।
कर्नेल ने गलत तरीके से मान लिया था कि AEAD अनुरोध इन-प्लेस (req->src == req->dst) सुरक्षित रूप से चल सकते हैं। हालाँकि, नियमित फ़ाइलों से splice() के साथ AF_ALG सॉकेट का उपयोग करते समय, स्रोत और गंतव्य बफ़र अक्सर अलग-अलग मेमोरी मैपिंग में स्थित होते हैं।
इस बेमेल के कारण एक तर्क त्रुटि उत्पन्न हुई जिसने पेज कैश में नियंत्रित मेमोरी भ्रष्टाचार की अनुमति दी।
एक्सप्लॉइटेशन बेहद आसान है। एक ~10-लाइन का Python PoC बिना पैच वाले सिस्टम पर विश्वसनीय रूप से रूट प्राप्त कर सकता है।
| मेट्रिक | मान |
|---|---|
| CVSS v3 स्कोर | 7.8 (उच्च) |
| Red Hat रेटिंग | महत्वपूर्ण |
a664bf3 (या समकक्ष बैकपोर्ट) से पहले का कोई भी कर्नेलअनुशंसित कार्रवाई: अपने कर्नेल को तुरंत अपडेट करें।
आधिकारिक फिक्स crypto/algif_aead.c में समस्याग्रस्त इन-प्लेस ऑप्टिमाइज़ेशन को वापस ले लेता है।
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y
# RHEL / Fedora / Rocky / Alma
sudo dnf update kernel -y
# Check kernel version
uname -r
अस्थायी समाधान (यदि तत्काल पैचिंग संभव न हो):
AF_ALG सॉकेट उपयोग प्रतिबंधित करेंसार्वजनिक एक्सप्लॉइट पहले से उपलब्ध हैं, जिनमें एक बहुत छोटा और विश्वसनीय Python प्रूफ-ऑफ-कॉन्सेप्ट भी शामिल है।
⚠️ चेतावनी: डिस्क्लोज़र के बाद बिना पैच वाले सिस्टम अत्यधिक संवेदनशील होते हैं।
सुरक्षित रहें। जल्दी पैच करें। बार-बार पैच करें।
Linux समुदाय के लिए ❤️ के साथ बनाया गया
| Ubuntu रेटिंग | उच्च |
| हमले का प्रकार | स्थानीय विशेषाधिकार वृद्धि |