ログインしていません。

アナウンス

連絡: このフォーラムは利用が少なく、主としてスパムの投稿が多いため、閉鎖いたしました。今後は閲覧のみ可能で、新しい投稿はできなくなります。Arch Linuxに関する日本語のコミュニケーションにはSlackコミュニティをご利用ください。

#1 2016-11-05 11:41:21

っks32rx
ゲストユーザー

user権限で実行されたtarコマンドで所有者がrootであるファイルを展開できる

問題のファイル http://strawberry-linux.com/h8/h8tools.tar.gz
このファイルを普通の(非root)ユーザーでtarコマンドで展開したところ、いくつかのファイルが所有者rootとして書き込まれる現象が発生しました。
これは脆弱性でしょうか?
tarコマンドバージョン:  1.29
Linux 4.8.6-1-ARCH #1 SMP PREEMPT Mon Oct 31 18:51:30 CET 2016 x86_64 GNU/Linux

#2 2016-11-05 11:47:23

追加情報
ゲストユーザー

Re: user権限で実行されたtarコマンドで所有者がrootであるファイルを展開できる

どうやらXorg環境上でのみこの現象は出るようです。Ctrl+Alt+F6でコンソールに切り替え問題のファイルをtarで解凍してみた結果、所有権のroot化は見られませんでした。
使用しているデスクトップ:  xfce 4.12 + xorg-server 1.18.4-1

#3 2016-11-05 11:50:19

つks32rx
ゲストユーザー

Re: user権限で実行されたtarコマンドで所有者がrootであるファイルを展開できる

すみません、Xorg上でなくても同様の現象は発生するようです

#4 2016-11-05 12:19:11

つks32rx
ゲストユーザー

Re: user権限で実行されたtarコマンドで所有者がrootであるファイルを展開できる

該当の現象を以下のコマンドで再現できました (通常ユーザーで):

gcc rootshell.c -o rootshell
sudo chown root:root rootshell
sudo chmod +s rootshell
mkdir exdir
sudo chmod 644 exdir
sudo chown root:root exdir
sudo mv rootshell exdir
sudo tar czvf exploit.tar.gz exdir/
sudo chown user:user exploit.tar.gz
mkdir exploit
tar xzvf exploit.tar.gz -C exploit

この後thunar上でexploitフォルダーを覗くとexdir/rootshellの所有者がrootのままになっている。
lsで覗くと特に問題はないが、rm -rf exploitには失敗する。

rootshell.c:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void main() {setuid(0);system("bash");}

#5 2016-11-05 15:22:25

つks32rx
ゲストユーザー

Re: user権限で実行されたtarコマンドで所有者がrootであるファイルを展開できる

先ほどexploitフォルダーのアクセス権を755に戻して見たところ、rootshellの所有者がuserに戻りました。
どうやらフォルダのアクセス権が644だったことでファイルの所有者が正常に表示できていなかったようです。
私の杞憂だったようです。お騒がせしました。

Board footer