CVE-2017-1000367は、QualysSecurityによって発見された深刻なルートLinuxの脆弱性です 研究者. 欠陥はSudoにあります “get_process_ttyname()” Linux用に機能し、Sudo権限を持つユーザーがrootとしてコマンドを実行したり、権限をrootに昇格したりできるようにすることができます.
須藤, また “スーパーユーザーは!,” は、標準ユーザーがスーパーユーザーまたはルートユーザーとして特定のコマンドを実行できるようにするLinuxおよびUNIX用のプログラムです。.
CVE-2017-1000367: 詳細
関数が開きますこの関数が開きます “/proc /[pid]/統計” (男proc) フィールドからttyのデバイス番号を読み取ります 7 (tty_nr), 研究者は説明します. 悪い点は、これらのフィールドがスペースで区切られ、フィールドであるということです 2 (通信, コマンドのファイル名) 実際に問題となっているスペースを含めることができます.
すなわち:
例えば, シンボリックリンクを介してSudoを実行すると “./ 1 “, get_process_ttyname() sudo_ttyname_devを呼び出します() 存在しないttyデバイス番号を検索するには “1” 組み込みのsearch_devsで[]. 次, sudo_ttyname_dev() 関数sudo_ttyname_scanを呼び出します() この存在しないttyデバイス番号を検索するには “1” 幅優先探索で “/開発者”.
この脆弱性は、Sudoがprocファイルシステムのプロセスステータスファイルから「tty」情報を解析する方法に起因します。. Linuxマシンの場合, sudoは/proc/を解析します[pid]/プロセスのttyfromフィールドのデバイス番号の概要を示す統計ファイル 7 (tty_nr), で説明されているように セキュリティアドバイザリ.
CVEの悪用-2017-1000367
欠陥が悪用されるために, ユーザーはすでにsudo権限を持っている必要があります.
SELinuxもシステムで有効になっている必要があり、sudoはSELinuxサポートを使用してビルドされている必要があります, 研究者は追加します.
バグを悪用するには, ユーザーは、現在/devの下に存在しないデバイス番号を選択できます. sudoが/dev/ptsディレクトリの下にターミナルを見つけられない場合, /devの幅優先探索を実行します. sudoが/dev/ ptsをチェックした後、sudoが/devの幅優先探索を実行する前に疑似端末を割り当てることができます。. 次に、攻撃者は、/devの下の誰でも書き込み可能なディレクトリに新しく作成されたデバイスへのシンボリックリンクを作成する可能性があります, / dev/shmなど.
このファイルは、コマンドの標準入力として使用されます, sudoコマンドラインでSELinuxロールが指定されている場合の出力とエラー. / dev / shmの下のシンボリックリンクが、sudoによって開かれる前に別のファイルへのリンクに置き換えられた場合, 標準出力または標準エラーに書き込むことにより、任意のファイルを上書きすることが可能です. これは、/ etc/shadowや/etc/sudoersなどの信頼できるファイルによって完全なルートアクセスにエスカレートされる可能性があります.
CVEを修正する方法-2017-1000367
幸運, この問題は、sudo 1.8.20p1で対処され、パッチが適用されています。.
また, /proc/を解析するための修正[pid]/改行が含まれている統計, sudo1.8.20p2に含まれています. sudo 1.8.20p1で、/devのトラバース方法が変更されたため, /proc/を悪用することはできません[pid]/改行を含む統計ファイル, 研究者は結論.