
CVE-2020-15257 के लिए containerd में प्रूफ ऑफ कॉन्सेप्ट
इस रिपॉजिटरी में CVE-2020-15257 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट कोड शामिल है जैसा कि हमारे ब्लॉग पोस्ट में वर्णित है। हालांकि यह containerd 1.2.x और 1.3.x के लिए लिखा गया है, यह containerd 1.4.x के पैच से पहले के संस्करणों पर काम करना चाहिए।
$ go build
$ docker build -t abstractshimmer .
$ docker run --rm -d --network host abstractshimmer | xargs docker logs -f
$ cat /tmp/shimmer.out
$ cat /tmp/shimmer.binary
$ # or, for containerd 1.2.x
$ cat /etc/crontab
नोट: यह एक्सप्लॉइट Docker/containerd को थोड़ा अस्त-व्यस्त कर देगा। एक हैंगिंग containerd-shim और Docker कंटेनर होगा जिन्हें क्रमशः मारने और docker rm --force करने की आवश्यकता होगी ताकि चीजों को साफ किया जा सके।
/var/lib/containerd/io.containerd.runtime.v1.linux/moby/ और
/run/containerd/io.containerd.runtime.v1.linux/moby/ में भी कुछ अवशेष रह जाएंगे। इसके भाग के रूप में, यह एक्सप्लॉइट containerd के address फाइलों को समेटने का प्रयास नहीं करता है। इससे ऐसी समस्याएं हो सकती हैं जहां एक्सप्लॉइट करने के बाद एक कमजोर सिस्टम को अपडेट करने का प्रयास करने पर Docker/containerd साफ-साफ पुनरारंभ नहीं हो पाएगा और/या मौजूदा कंटेनरों को देखने में असमर्थ होगा। यदि आप containerd पैकेज को अपडेट करते समय ऐसा देखते हैं, तो यह एक संकेत हो सकता है कि सिस्टम पहले इस एक्सप्लॉइट के किसी प्रकार से समझौता किया गया है।