【要約】Copy Fail とは?(結構詳しめ) [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
- ・
spliceによるページキャッシュの参照転送が可能。 - ・
authencesnアルゴリズムの処理中に4バイトの不適切な上書きが発生。 - ・これらを組み合わせ、カーネル空間のページキャッシュを操作可能になる。
- ・結果として、SUIDバイナリの書き換えによる特権昇格を許す。
// Approach
1.
splice を用い、ファイルから AF_ALG ソケットへデータを流し込む。2.
authencesn アルゴリズムのデータシャッフル時に発生する4バイトの書き込みを利用。3.書き込み先を、
/usr/bin/su 等のページキャッシュ領域に合致させる。4.注入したシェルコードにより、root権限での実行を実現する。
// Result
- ・攻撃者は root 権限を取得可能。
- ・対策:カーネルの最新化。
- ・暫定策:
seccompによるAF_ALGソケット作成のブロック。 - ・暫定策:
algif_aeadモジュールの無効化。
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.confSenior Engineer Insight
> カーネルの低レイヤな挙動を突いた、極めて巧妙かつ深刻な脆弱性。
splice によるゼロコピーの利点が、攻撃の足掛かりとなる点は皮肉である。インフラ管理者は、パッチ適用が困難な場合、algif_aead モジュールの無効化を即座に検討すべき。影響範囲が広いため、全システムの脆弱性スキャンと迅速な対策が不可欠である。