[〜#〜] poc [〜#〜] をコンパイルしようとしましたが、OSXでダーティCOWを使用しました(免責事項:Cプログラマではありません)。ここにエラーがあります:
dirtycow.c: In function ‘procselfmemThread’:
dirtycow.c:64:5: warning: implicit declaration of function ‘lseek’ [-Wimplicit-function-declaration]
lseek(f,map,SEEK_SET);
^~~~~
dirtycow.c:65:8: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration]
c+=write(f,str,strlen(str));
^~~~~
dirtycow.c: In function ‘main’:
dirtycow.c:82:3: warning: implicit declaration of function ‘fstat’ [-Wimplicit-function-declaration]
fstat(f,&st);
^~~~~
dirtycow.c:95:3: error: invalid use of undefined type ‘struct stat’
map=mmap(NULL,st.st_size,PROT_READ,MAP_PRIVATE,f,0);
^~~
dirtycow.c: At top level:
dirtycow.c:27:13: error: storage size of ‘st’ isn’t known
struct stat st;
だから問題は、OSXのCの構文が間違っているのですか、それともOSXがこのエクスプロイトに対して脆弱ではないのですか?
DirtyCowはLinuxカーネルの脆弱性-実装のエラーです。 MacOS XはBSDベースです-完全に異なるコードベースです。原則として同様の脆弱性が存在する可能性がありますが、Linuxベースの脆弱性に対するLinuxベースのエクスプロイトがMacOSで動作する可能性はほとんどありません。