
CVE-2023-0179に対するエクスプロイト この脆弱性にはCVE-2023-0179が割り当てられており、Linuxカーネルバージョン5.5から6.2-rc3までのすべてのバージョンに影響を与えます。この脆弱性は6.1.6でテストされました。 脆弱性の詳細や記事はos-securityで見つけることができます。
このリポジトリには、nftables サブシステムにおける私が最近発見した脆弱性(CVE-2023-0179 が割り当てられ、Linux バージョン 5.5 から 6.2-rc3 のすべてに影響します。ただし、エクスプロイトは 6.1.6 でテストしました)のエクスプロイトが含まれています。
脆弱性の詳細と解説は oss-security にあります。
対応する実行可能ファイルを生成するには、make needle コマンドを実行するだけです。
ビルドを成功させるには libmnl と libnftnl が必要です:
sudo apt-get install libmnl-dev libnftnl-dev
エクスプロイトは、非特権ユーザーおよびネットワーク名前空間に入り、rule_add_payload 関数を介して nft_payload 式を追加します。この式が評価されると、スタックバッファオーバーフローがトリガーされ、レジスタが上書きされます。
その後、コンテンツは次の nft コマンドで取得されます:
nft list map netdev mytable myset12
出力は、カーネルデータ構造に関連するいくつかのシャッフルされたアドレスを漏洩します。その中には、カーネル命令アドレスと regs ポインタがあります。
エクスプロイトは、modprobe_path 変数を悪用して、UID 0 の新しいユーザーアカウント needle:needle を作成します。
root 権限をお楽しみください。