
このリポジトリには、私が発見したLinuxカーネルのnf_tablesコンポーネントのバグであるCVE-2022-1015のローカル権限昇格のPoCが含まれています。この脆弱性と悪用戦略の詳細な分析は、私のブログで読むことができます。
現在、エクスプロイトは少し整理されていません。すみません!
コミット345023b0db31(v5.12)以降、コミット6e1acfa387b9(v5.17)より前のカーネルが脆弱です。
このエクスプロイトが特定の脆弱なカーネルでルートシェルを取得できる可能性は極めて低いです。チェインフックの位置(入力 vs 出力など)、nft_bitwiseのアドレス漏洩オフセット、ROPガジェットとシンボルオフセットを実験する必要があります。私は5.16-rc3+でテストし、異なるgccバージョンでコンパイルされたカーネルビルドに対してエクスプロイトを大幅に変更する必要がありました。
とはいえ、ブログ記事で提供したすべての情報があれば、特定の脆弱なカーネルに対してエクスプロイトを修正することは可能だと思います。
makeを実行するだけで、ソースディレクトリにpwn実行ファイルが生成されます。libmnlとlibnftnlの開発用パッケージ、およびターゲットのLinuxヘッダーが必要です。
例えば、make CFLAGS="-I/path/to/linux-tree/usr/include"のようにして使用するカーネルヘッダーを明示的に指定できます。
このコードはBeerwareライセンスの下で配布されています。私はあなたがこれを使用して行うことに対して法的責任を負いません。