[[diary/Kojima]]

・vmsplice exploit

デフォルトのカーネルを使っているから当然と言えば当然だけど,
例の vmsplice を使った exploit はちゃんと機能しますね.

 kojima@xeon[~]% uname -r
 2.6.22.9-plamoSMP
 kojima@xeon[~]% ./exploit 
 -----------------------------------
  Linux vmsplice Local Root Exploit
  By qaaz
 -----------------------------------
 [+] mmap: 0x0 .. 0x1000
 [+] page: 0x0
 [+] page: 0x20
 [+] mmap: 0x4000 .. 0x5000
 [+] page: 0x4000
 [+] page: 0x4020
 [+] mmap: 0x1000 .. 0x2000
 [+] page: 0x1000
 [+] mmap: 0xb7d97000 .. 0xb7dc9000
 [+] root
 root@xeon:~#  whoami
 root

2.6.23.16 では修正されたそうだけど,対応箇所はこのあたりで,vmsplice を
呼び出す時に条件チェックを厳しくしたみたい.
 
 @@ -1442,6 +1445,11 @@ static long vmsplice_to_user(struct file *file, const struct iovec _
 _user *iov,
                         break;
                 }
  
 +               if (unlikely(!access_ok(VERIFY_WRITE, base, len))) {
 +                       error = -EFAULT;
 +                       break;
 +               }
 +
  
この手の問題って,ごく限定された状況でしか発動しないと思うけど,よく見
つけるものだとある意味感心.

#comment

・xrandr 

X11R7 系で採用された xrandr についてのメモ

- xrandr -q で,現在の設定と利用可能なモードの表示.

 kojima@athlon64[/mnt/Srcs/L/Linux]% xrandr -q
 Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 1600 x 1200
 VGA1 connected 1600x1200+0+0 367mm x 275mm
    1600x1200      60.0*+   59.9  
    1280x1024      75.0     59.9  
    1152x864       74.8  
    1024x768       75.1     60.0  
    800x600        75.0     60.3  
    640x480        75.0     60.0  
 VGA2 unknown connection
    1024x768       60.0  
    800x600        60.3  
    640x480        59.9  

- xrandr -s N 等で解像度の変更

Nは現在利用可能なモードの順番で,上記の例では N=0(xrnadr -s 0)で 1600x1200,
N=2(xrandr -s 2)で 1152x864 なモードに変更できる


- xrandr --output VGA2 --off で副画面の停止

上記例(MGA G400)のように,2画面出力が可能な VGA カードの場合は,デフォ
ルトでは VGA2 の出力は VGA1 の出力にオーバーレイされるみたいで,VGA2 を
オフしないと,画面に左上端に VGA2 の出力がマージされる(xscreensaver が
画面左上の 1024x768 な領域しか表示されない,等).これを止めるには --output で出力先を
指定して --off で出力を停止すればいい.このコマンド
は ~/.xinitrc 等に指定しておけばいいみたい.

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS