Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-31431-mitigation — # CVE-2026-31431 के लिए Seccomp-आधारित शमन, एक Linux कर्नेल LPE। PAM मॉड्यूल और स्टैंडअलोन रैपर के माध्यम से AF_ALG सॉकेट को ब्लॉक करता है, पैच किए गए कर्नेल का स्वतः-पता लगाने के साथ। | Kitploit
उपकरण/GitHubGitHub/linux-zs/cve-2026-31431-mitigation
रक्षात्मक उपकरणभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगसुरक्षा वर्चुअलाइजेशन
GitHublinux-zs/cve-2026-31431-mitigation

cve-2026-31431-mitigation

# CVE-2026-31431 के लिए Seccomp-आधारित शमन, एक Linux कर्नेल LPE। PAM मॉड्यूल और स्टैंडअलोन रैपर के माध्यम से AF_ALG सॉकेट को ब्लॉक करता है, पैच किए गए कर्नेल का स्वतः-पता लगाने के साथ।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
366 महीने पहलेअभी तक समीक्षित नहीं

CVE-2026-31431 seccomp शमन

CVE-2026-31431 के लिए एक हल्का, प्रतिवर्ती seccomp-आधारित शमन, जो Linux कर्नेल के algif_aead / authencesn क्रिप्टो सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि भेद्यता है।

中文文档


भेद्यता अवलोकन

प्रकार: स्थानीय विशेषाधिकार वृद्धि (LPE)

प्रभावित घटक: Linux कर्नेल crypto/algif_aead.c - इन-प्लेस AEAD संचालन

हमला प्रिमिटिव: authencesn AEAD एल्गोरिदम के स्क्रैच-राइट पथ के माध्यम से किसी भी पठनीय फ़ाइल के पेज कैश में 4-बाइट नियंत्रणीय लेखन। /etc/passwd को लक्षित करके, एक हमलावर अपना UID 0 (रूट) में बदल सकता है और su के माध्यम से रूट शेल प्राप्त कर सकता है।

प्रभावित कर्नेल: कर्नेल 6.12+, 6.17+, 6.18+ पर पुष्टि की गई, और RHEL/CentOS 4.18/5.14 कर्नेल पर भी पुनरुत्पादित किया गया।

सत्यापित वातावरण: Rocky Linux 8 (कर्नेल 4.18) और Rocky Linux 9 (कर्नेल 5.14) - शोषण पूरी तरह से अवरुद्ध, सुरक्षित निष्कासन की पुष्टि की गई।

मूल कारण: कमिट 72548b093ee3 ने इन-प्लेस AEAD संचालन पेश किया। जब स्प्लिस्ड पेज-कैश पृष्ठों को गंतव्य स्कैटरलिस्ट के रूप में उपयोग किया जाता है, तो AEAD डिक्रिप्ट के दौरान AAD seqno_lo फ़ील्ड गलती से पेज-कैश में वापस लिखा जाता है।

अपस्ट्रीम फिक्स: आउट-ऑफ-प्लेस AEAD संचालन पर वापस लौटें।

यह शमन कैसे काम करता है

इस समाधान के दो घटक हैं:

  1. PAM मॉड्यूल (pam_block_afalg.so) - प्राथमिक सुरक्षा। सत्र खोलने के दौरान PAM द्वारा लोड किया गया (pam_sm_open_session), यह एक seccomp BPF फ़िल्टर लागू करता है जो किसी भी उपयोगकर्ता कोड के चलने से पहले socket(AF_ALG, ...) को अवरुद्ध करता है। यह सभी PAM-प्रमाणित सत्रों को कवर करता है: su -c, su -, SSH, TTY लॉगिन, आदि।

  2. स्टैंडअलोन बाइनरी (block_afalg) - वैकल्पिक। गैर-PAM परिदृश्यों के लिए विशिष्ट प्रोग्रामों को लपेट सकता है (जैसे, cron जॉब्स, systemd सेवाएं, मैन्युअल आह्वान)।

seccomp फ़िल्टर:

  • केवल socket(AF_ALG, ...) को अवरुद्ध करता है (EACCES लौटाता है)
  • अन्य सभी सिस्कॉल पर शून्य प्रभाव (setuid, su, sudo सहित)
  • सभी चाइल्ड प्रोसेस द्वारा विरासत में मिलता है (fork + exec)
  • पैच किए गए कर्नेल का स्वतः पता लगाता है और नो-ऑप बन जाता है

आर्किटेक्चर

PAM सत्र खुलता है (su, ssh, login, आदि)
  |
  v
pam_block_afalg.so (pam_sm_open_session)
  |
  +-- जांचें: क्या कर्नेल भेद्य है? (socket(AF_ALG) आज़माएं)
  |     |
  |     +-- नहीं  --> PAM_SUCCESS लौटाएं (नो-ऑप)
  |     |
  |     +-- हां --> prctl(PR_SET_SECCOMP, BPF फ़िल्टर)
  |                   |
  |                   +-- seccomp फ़िल्टर sshd चाइल्ड प्रोसेस पर सक्रिय
  |                   +-- उपयोगकर्ता के शेल और सभी चाइल्ड प्रोसेस द्वारा विरासत में मिला
  |                   +-- socket(AF_ALG, ...) EACCES लौटाता है
  v
उपयोगकर्ता का शेल / कमांड seccomp सुरक्षा के साथ चलता है
  |
  +-- su, sudo, और अन्य सभी सिस्कॉल सामान्य रूप से काम करते हैं
  +-- केवल AF_ALG सॉकेट अवरुद्ध है

फ़ाइलें

फ़ाइलउद्देश्य
pam_block_afalg.cPAM मॉड्यूल स्रोत। सत्र खुलने पर seccomp फ़िल्टर लागू करता है।
pam_minimal.hन्यूनतम PAM प्रकार परिभाषाएं (pam-devel के बिना संकलित होता है)।
block_afalg.cस्टैंडअलोन seccomp रैपर बाइनरी। गैर-PAM उपयोग के लिए।
deploy.shपरिनियोजन स्क्रिप्ट। PAM मॉड्यूल को संकलित, स्थापित और प्रबंधित करता है।

आवश्यकताएं

  • seccomp समर्थन वाला Linux कर्नेल (अधिकांश आधुनिक कर्नेल)
  • gcc (संकलन के लिए)
  • libpam (रनटाइम, आमतौर पर पहले से स्थापित)
  • रूट/सुडो पहुंच (स्थापना के लिए)
  • x86_64 आर्किटेक्चर (BPF फ़िल्टर x86_64 सिस्कॉल नंबरों का उपयोग करता है)

त्वरित प्रारंभ

# 1. PAM मॉड्यूल संकलित करें
gcc -Wall -O2 -fPIC -shared -o pam_block_afalg.so pam_block_afalg.c \
    /usr/lib64/libpam.so.0

# 2. स्थापित करें (su, sshd, login में PAM कॉन्फ़िग स्वतः जोड़ता है)
sudo ./deploy.sh install

# 3. सत्यापित करें (नया सत्र होना चाहिए)
cat /proc/self/status | grep Seccomp
# दिखाना चाहिए: Seccomp: 2

python3 -c "
import socket
try:
    s = socket.socket(38,2,0); s.close()
    print('VULNERABLE')
except OSError:
    print('BLOCKED')
"
# दिखाना चाहिए: BLOCKED

# 4. अनइंस्टॉल करें
sudo ./deploy.sh remove

कमांड संदर्भ

कमांडविवरण
deploy.sh installPAM मॉड्यूल संकलित करें, /lib64/security/ में स्थापित करें, PAM कॉन्फ़िग स्वतः जोड़ें
deploy.sh removeपूर्ण अनइंस्टॉल: मॉड्यूल हटाएं, PAM कॉन्फ़िग साफ़ करें, फ़ाइलें हटाएं
deploy.sh statusस्थापना स्थिति, PAM कॉन्फ़िग, कर्नेल स्थिति दिखाएं

स्टैंडअलोन उपयोग

गैर-PAM परिदृश्यों के लिए, block_afalg का सीधे उपयोग करें:

# संकलित करें
gcc -Wall -O2 -o block_afalg block_afalg.c

# AF_ALG अवरुद्ध के साथ कमांड चलाएं
./block_afalg python3 your_script.py
./block_afalg bash

सत्यापन

जांचें कि क्या कर्नेल भेद्य है

python3 -c "
import socket
try:
    s = socket.socket(38, socket.SOCK_SEQPACKET, 0)
    s.close()
    print('VULNERABLE: AF_ALG socket available')
except:
    print('SAFE: AF_ALG socket blocked or unavailable')
"

PAM मॉड्यूल सक्रिय है सत्यापित करें

# seccomp स्थिति जांचें
cat /proc/self/status | grep Seccomp
# Seccomp: 0 = सुरक्षित नहीं
# Seccomp: 2 = सुरक्षित

# AF_ALG सॉकेट का परीक्षण करें
python3 -c "
import socket
try:
    s = socket.socket(38,2,0)
    s.close()
    print('AF_ALG available - NOT protected')
except OSError:
    print('AF_ALG blocked - PROTECTED')
"

# PAM लॉग जांचें
grep pam_block_afalg /var/log/secure
# दिखाना चाहिए: seccomp filter applied, AF_ALG blocked

सीमाएं

  • केवल x86_64: BPF फ़िल्टर सिस्कॉल नंबर 41 (__NR_socket x86_64 पर) हार्डकोड करता है। अन्य आर्किटेक्चर के लिए सिस्कॉल नंबर अपडेट करने की आवश्यकता है।
  • PAM-निर्भर: केवल उन सत्रों की सुरक्षा करता है जो PAM से गुजरते हैं। PAM के बिना सीधे exec() कॉल कवर नहीं होते (उनके लिए block_afalg का उपयोग करें)।
  • कोई रनटाइम अक्षमता नहीं: एक बार seccomp फ़िल्टर किसी प्रोसेस पर लागू हो जाने के बाद, इसे हटाया नहीं जा सकता। कर्नेल जांच सुनिश्चित करती है कि यह केवल आवश्यक होने पर ही लागू हो।
  • केवल नए सत्र: मॉड्यूल स्थापना से पहले शुरू किए गए मौजूदा सत्र पूर्वव्यापी रूप से सुरक्षित नहीं हैं।

कब हटाएं

  1. आधिकारिक कर्नेल पैच लागू है - PAM मॉड्यूल इसका स्वतः पता लगाता है, लेकिन आप remove के साथ सफाई कर सकते हैं।
  2. RHEL/CentOS पैच किया हुआ कर्नेल जारी करता है - yum update kernel फिर मॉड्यूल हटाएं।

लाइसेंस

यह टूल केवल अधिकृत सुरक्षा परीक्षण और रक्षात्मक उद्देश्यों के लिए प्रदान किया गया है। केवल उन सिस्टम पर उपयोग करें जिनके आप मालिक हैं या जिनका मूल्यांकन करने के लिए आप स्पष्ट रूप से अधिकृत हैं।

टूल डाउनलोड करें