
CVE-2026-43494
लिनक्स कर्नेल में RDS + io_uring पृष्ठ कैश अधिलेखन के माध्यम से स्थानीय विशेषाधिकार वृद्धि
PinTheft एक परिष्कृत स्थानीय रूट शोषण है जो CVE-2026-43494 के लिए है, जो लिनक्स कर्नेल के रिलायबल डेटाग्राम सॉकेट्स (RDS) उपतंत्र में एक संदर्भ-गणना बग है।
RDS शून्य-प्रतिलिपि पथ में दोहरा-मुक्त को io_uring के निश्चित बफ़र्स के साथ जोड़कर, शोषण SUID-रूट बाइनरीज़ का विश्वसनीय पृष्ठ कैश अधिलेखन प्राप्त करता है, जिसके परिणामस्वरूप रूट तक स्थानीय विशेषाधिकार वृद्धि होती है।
एक अप्रचलित नेटवर्किंग पथ में एक छोटी सी लेखांकन त्रुटि, जब आधुनिक io_uring सुविधाओं के साथ मिश्रित होती है, तो एक विश्वसनीय LPE बन जाती है।
net/rdsrds_message_zcopy_from_user() में विफलता पथ → गलत op_nents हैंडलिंगiov_iter_get_pages2() के बाद दोहरा put_page()CVSS स्कोर: ~7.8 (उच्च)
io_uring REGISTER_BUFFERS का उपयोग करके (+1024 FOLL_PIN संदर्भ)sendmsg का उपयोग करकेmunmap() → PCP में साफ मुक्त (LIFO)struct page* के माध्यम से IORING_OP_READ_FIXED का उपयोग करके पुनर्प्राप्त पृष्ठ को अधिलेखित करेंबाइपास:
CONFIG_INIT_ON_ALLOC_DEFAULT_ONbad_page() जाँचCONFIG_RDS और CONFIG_RDS_TCP सक्षम के साथ कर्नेलio_uring सक्षम (kernel.io_uring_disabled=0)अधिकांश डिस्ट्रो पर डिफ़ॉल्ट रूप से असुरक्षित नहीं (RDS शायद ही कभी सक्षम होता है)।
# 1. क्लोन और संकलन
git clone https://github.com/0xBlackash/CVE-2026-43494.git
cd CVE-2026-43494
gcc -O2 -static CVE-2026-43494.c -o pintheft
# 2. चलाएँ
sudo ./pintheft
CVE-2026-43494.c — पूर्ण शोषण स्रोत (PinTheft)README.md — यह दस्तावेज़backup/ — अधिलेखित SUID बाइनरीज़ के स्वचालित बैकअप# Disable RDS
echo "install rds /bin/false" | sudo tee /etc/modprobe.d/disable-rds.conf
echo "install rds_tcp /bin/false" | sudo tee -a /etc/modprobe.d/disable-rds.conf
sudo modprobe -r rds_tcp rds
# Disable io_uring (if unused)
echo "kernel.io_uring_disabled=2" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
अपने कर्नेल को अपडेट करें जैसे ही पैच उपलब्ध हों।
# Check if vulnerable
modprobe -n rds_tcp && echo "RDS: Vulnerable"
cat /proc/sys/kernel/io_uring_disabled
uname -r
सुरक्षा अनुसंधान समुदाय के लिए ❤️ से बनाया गया
जिज्ञासु रहें। सुरक्षित रहें।