Tomcatの複数の脆弱性(CVE-2017-12617, CVE-2017-12615 , CVE-2017-12616)が、範囲が広がって出てました。 readonly initialization parameter
をfalse
にしてPUT
を有効化している時にaffectする(任意のjsp fileを不正にPUT
してから好き放題する)、とのことなので、きょうびはRESTでPUT
多用するから影響範囲広いんでしょうか? 否、「default servletのinitialization parameter(具体的にはweb.xml
のservlet
tagのinit-param
)でfalse
を明示した時(defaultはtrue
)なので、殆どのところはそんなことしてないから大丈夫なんじゃないでしょうか。 実際、POCで試してみたところ、うちのsiteは(version的には範囲内ですが)Not Vulnerable to CVE-2017-12617
と出ました。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ python tomcat-cve-2017-12617.py -u http://localhost:8080
_______ ________ ___ ___ __ ______ __ ___ __ __ ______
/ ____\ \ / / ____| |__ \ / _ \/_ |____ | /_ |__ \ / //_ |____ |
| | \ \ / /| |__ ______ ) | | | || | / /_____| | ) / /_ | | / /
| | \ \/ / | __|______/ /| | | || | / /______| | / / '_ \| | / /
| |____ \ / | |____ / /_| |_| || | / / | |/ /| (_) | | / /
\_____| \/ |______| |____|\___/ |_|/_/ |_|____\___/|_|/_/
[@intx0x80]
Poc Filename Poc.jsp
Not Vulnerable to CVE-2017-12617
Category: Tomcat
Tomcat Vulnerability CVE-2017-12617
Too Many Open Files
tomcat7が止まっていて、catalina.outを見ると、 Too many open files
と言われていました。
- 現状の確認
$ ulimit -a
- プロセス毎なので、
$ cat /proc/プロセス番号/limits
or$ cat /proc/`pgrep -f tomcat7`/limits
- 現状幾つのfilesをopenしているか、は、
$ sudo ls -l /proc/`pgrep -f tomcat7`/fd/|wc -l
- 増やすには、/etc/init.d/tomcat7 で
ulimit -n 8192
等と追記してrestart $ cat /proc/プロセス番号/limits
で確認