Polkit に 12 年前の最初のバージョンから存在した脆弱性「Pwnkit」
Qualys が Pwnkit と名付けた脆弱性は非特権ユーザーがrootの権限でコマンドを実行できるようにする Polkit の コマンドラインツール pkexec に存在する。pkexec の main() 関数ではコマンドライン引数の数 (argc) を適切に処理せず、常に 1 以上として扱うため、引数リスト (argv) が空の状態でも境界外のメモリを引数 (argv[1]) として読み書きしてしまう。
境界外の直近にあるのは 1 つ目の環境変数 (envp[0]) であり、pkexec は読み取った値を実行ファイルの名前として PATH 環境変数で指定されたディレクトリを探し、一致する実行ファイルが見つかったらパスを付加して envp[0] を上書きする。これにより、通常は main() 関数実行前に除去される「安全でない」変数を pkexec の環境に再導入することが可能であり、悪用することでローカルでの権限昇格が可能になる。
Polkit では argc が 1 未満の場合に処理を終了する修正を行っており、修正済みの Polkit パッケージが入手可能になり次第更新することが推奨される。
すべて読む
| セキュリティセクション
| Linux
| オープンソース
| セキュリティ
| バグ
|
関連ストーリー:
HP / Samsung / Xerox のプリンタードライバーに 16 年前から存在した脆弱性
2021年07月25日
Linuxでプロセスの権限を設定するpolkit、7年以上前から存在した特権昇格の脆弱性が見つかる
2021年06月12日
Windows Serverに17年前から存在していたバグが修正される
2020年07月18日
Linuxカーネルに11年以上前から存在する特権昇格の脆弱性「Dirty COW」が修正される
2016年10月22日
TLS/SSL実装に20年前からの脆弱性、影響範囲は広範
2015年03月11日
Microsoft、18年にわたってWindowsに存在した脆弱性を修正
2014年11月15日
FFmpegのLZO実装コードに脆弱性、20年前から存在
2014年07月02日