
CVE-2026-31431, जिसे Copy Fail के नाम से भी जाना जाता है, को bpftrace के साथ एक-पंक्ति में कम किया जा सकता है।
CVE-2026-31431, जिसे Copy Fail भी कहा जाता है, को bpftrace कमांड के माध्यम से एक पंक्ति के कोड से ठीक किया जा सकता है, बिना kpatch संकलित किए, बिना cargo संकलित किए
इस भेद्यता का दोहन करने के लिए, AF_ALG इंटरफ़ेस से बाइंड करना आवश्यक है, और क्रिप्टोग्राफ़िक एल्गोरिदम authencesn का उपयोग करना होगा, जिसका उपयोग अधिकांश प्रोग्राम नहीं करते हैं। यही वह जगह है जहाँ मरम्मत कोड काम कर सकता है।
├── kfunc.sh
├── kprobe.sh
├── tests
│ └── bind_af_alg.py
└── tracepoint.sh
tracepoint.sh का मूल लेखक @天擎智能云 है, उनका मूल कोड WeChat सार्वजनिक खाते पर प्रकाशित हुआ था
मैंने इस कोड का परीक्षण किया, यह वास्तव में काम करता है।
लेकिन, https://github.com/Jannik2099/copyfail-ebpf-mitigation से प्रेरित होकर, मैंने पाया कि यदि प्रोग्राम केवल AF_ALG इंटरफ़ेस से बाइंड करता है, लेकिन क्रिप्टोग्राफ़िक एल्गोरिदम authencesn का उपयोग नहीं करता है, तो भी उस प्रक्रिया को बिना शर्त मार दिया जाता है।
स्पष्टीकरण थोड़ा कमज़ोर है, कोड देखें।
इसलिए, Deepseek की मदद से, मैंने परीक्षण करने में 1 दिन बिताया, और 2 अन्य मरम्मत कोड सत्यापित किए। वे AF_ALG इंटरफ़ेस से बाइंड करने और क्रिप्टोग्राफ़िक एल्गोरिदम authencesn का उपयोग करने वाली सभी प्रक्रियाओं को रिकॉर्ड और अस्वीकार कर सकते हैं।
| tracepoint | kprobe |
|---|
| kfunc |
|---|
| Ubuntu 20.04 | ✅ | ✅ | ❌ |
| Rocky 8.4 | ✅ | ✅ | ❌ |
| Gentoo rolling | ✅ | ✅ | ✅ |
| tracepoint | kprobe | kfunc |
|---|
| kernel version (minimum) | 4.7 (4.9+ recommended) | 4.1 | 5.5 |
| bpftrace version (minimum) | 0.9.4 | 0.9.0 | 0.12 |
| kernel parameters | CONFIG_BPF=y CONFIG_BPF_SYSCALL=y CONFIG_BPF_EVENTS=y CONFIG_FTRACE_SYSCALLS=y CONFIG_FUNCTION_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_DEBUG_FS=y optional: CONFIG_BPF_JIT=y & CONFIG_HAVE_EBPF_JIT=y CONFIG_KPROBES=y CONFIG_KPROBE_EVENTS=y VENTS=y | CONFIG_BPF=y CONFIG_BPF_SYSCALL=y CONFIG_KPROBES=y CONFIG_KPROBE_EVENTS=y CONFIG_BPF_EVENTS=y | CONFIG_BPF=y CONFIG_BPF_SYSCALL=y CONFIG_BPF_EVENTS=y CONFIG_BPF_JIT=y CONFIG_HAVE_EBPF_JIT=y CONFIG_KPROBES=y CONFIG_KPROBE_EVENTS=y CONFIG_FUNCTION_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE=y CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_INFO_BTF_MODULES=y CONFIG_DEBUG_FS=y |