特権のない攻撃者がシステム上の特権を昇格させるXNUMXつの脆弱性が特定されました systemdへのログインを担当するsystemd-journaldでrootとしてコードを実行します。
脆弱性 systemdを使用するすべてのディストリビューションでマニフェスト, SUSE Linux Enterprise 15、openSUSE Leap 15.0、およびFedora 28/29を除いて、 systemdコンポーネントは、「-fstack-clash-protection」を含めて組み立てられています。
脆弱性とは何ですか?
脆弱性 すでに登録済み CVE-2018-16864 y CVE-2018-16865 割り当てられたメモリブロックの制限外にデータを書き込むための条件を作成できます, 脆弱性が CVE-2018-16866 外部メモリ領域の内容を読み取ることができます。
研究者は、エクスプロイトの実用的なプロトタイプを準備しました これは、脆弱性CVE-2018-16865およびCVE-2018-16866を使用しています。
これらの脆弱性について詳細に研究者 これにより、i10アーキテクチャのシステムでは約386分間、amd70システムでは64分間の攻撃の後、root権限を取得できるとのことです。
このエクスプロイトはDebian9.5でテストされています。
彼らはまたそれを説明します:
エクスプロイトが作成されると、 スタックСlashテクニックが使用されます、その本質は、オーバーフローしたヒープの内容がスタック領域にある場合、または逆に、スタックがヒープ領域を書き換えることができる場合に条件を作成することです。
これは、スタックとヒープが互いに隣接して配置されている状況で現れます(スタック領域はヒープに割り当てられたメモリの直後に続きます)。
提案されたエクスプロイトは、Linuxカーネルレベルでのスタックスタッククラス攻撃に対する保護が十分ではないという仮定を確認します。
同時に、「-fstack-clash-protection」オプションを有効にしてGCCを再構築することにより、攻撃を正常にブロックします。
脆弱性について
脆弱性 CVE-2018-16864は、syslog()の呼び出しを介してデータをログに保存するアプリケーションを転送する状況を分析した後に発見されました、多数のコマンドライン引数(数メガバイト)は、systemd-journaldプロセスのクラッシュにつながります。
分析では、コマンドライン引数を使用して文字列を操作することにより、制御されたスタックキューをスタックの先頭に配置できることが示されました。
ただし、攻撃を成功させるには、カーネルで使用されているスタック保護ページの保護技術をバイパスする必要があります。、その本質は制限のメモリページの置換にあります。 例外(ページフォールト)を発生させます。
並列でこの保護をバイパスするにはsystemd-journaldは「競合状態」で始まります」、読み取り専用のページメモリエントリによる制御プロセスの崩壊をキャプチャするための時間を確保します。
最初の脆弱性を調査する過程で、さらにXNUMXつの問題が発生しました。
XNUMX番目の脆弱性 CVE-2018-16865では、スタックСlashオーバーレイ条件を作成できます ファイルrun / systemd / journal / socketに非常に大きなメッセージを書き込むことで同様です。
XNUMX番目の脆弱性 CVE-2018-16866は、最後の「:」文字を含むsyslogメッセージを送信すると現れます。
文字列の解析エラーのため、終了文字列 '\ 0'は破棄され、レコードには '\ 0'の外側にバッファ部分が含まれるため、スタックのアドレスとmmapを見つけることができます。
- CVE-2018-16864の脆弱性は、2013年203月から明らかになっています(systemd 230に表示されます)が、2016年XNUMX月にsystemdXNUMXに変更された後にのみ操作に適しています。
- CVE-2018-16865の脆弱性は、2011年38月(systemd 2013)から明らかであり、201年XNUMX月(systemd XNUMX)から運用可能です。
- CVE-2018-16864およびCVE-2018-16865の問題は、systemdのマスターブランチで数時間前に修正されました。
CVE-2018-16866の脆弱性は2015年221月に発生し(systemd 2018)、240年XNUMX月に修正されました(systemd XNUMXには表示されません)。
動作中のエクスプロイトのリリースは、ディストリビューションによるパッチのリリースまで延期されました。
現在、脆弱性ディストリビューションにはまだパッチが適用されておらず、Debian、Ubuntu、RHEL、Fedora、SUSE、およびそれらの派生物などが最も人気があります。
systemdは最悪です!
初期化の自由…ええ!!!!