カーネルモジュールのロードに関連する SELinux の制限をバイパスする

調査対象のデバイスの XNUMX つで、対象の SELinux ルールに実装されているカーネル モジュールのロード禁止を回避できる可能性が実証されました (どのデバイスについて話しているのか、また問題がファームウェアやディストリビューションの SELinux ルールにどの程度影響を与えるのかは特定されていません)。 関連する SELinux ルールのモジュール ブロックは、finit_module システム コールへのアクセスの制限に基づいていました。このシステム コールにより、ファイルからモジュールをロードでき、insmod などのユーティリティで使用されます。 ただし、SELinux ルールでは、メモリ内のバッファからカーネル モジュールを直接ロードするためにも使用できる init_module システム コールは考慮されていませんでした。

この方法を実証するために、SELinux によって制限されたシステムへの root アクセス権がある場合、モジュールをロードしてカーネル レベルでコードを実行し、SELinux 保護を完全に無効にすることができるプロトタイプのエクスプロイトが準備されました。

出所: オープンネット.ru

コメントを追加します