Environment
Situation
The Apache Tomcat team recently reported that all Tomcat versions before 9.0.1 (Beta), 8.5.23, 8.0.47 and 7.0.82
contain a potentially dangerous remote code execution (RCE)
vulnerability on all operating systems if the default servlet is configured with the parameter
The issue has been reported as CVE-2017-12617
Additional details can be found at:
* https://www.alphabot.com/security/blog/2017/java/Apache-Tomcat-RCE-CVE-2017-12617.html
* http://securityaffairs.co/wordpress/63845/hacking/cve-2017-12617-tomcat-flaw.html
* http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12617
readonly
set to false
or the WebDAV servlet is enabled with the parameter readonly
set to false
.
This configuration would allow any unauthenticated user to upload files
(as used in WebDAV). It was discovered that the filter that prevents the
uploading of JavaServer Pages (.jsp) can be circumvented. So JSPs can
be uploaded, which then can be executed on the server.The issue has been reported as CVE-2017-12617
Additional details can be found at:
* https://www.alphabot.com/security/blog/2017/java/Apache-Tomcat-RCE-CVE-2017-12617.html
* http://securityaffairs.co/wordpress/63845/hacking/cve-2017-12617-tomcat-flaw.html
* http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12617
Resolution
NAM is not susceptible to this vulnerability, as the defaultServlet does not have the readonly attribute with a value of false. You can confirm this by checking the web.xml for references to DefaultServlet and seeing if the readonly attribute value is set. For example, we have the following Admin Console setting under /opt/novell/nam/adminconsole/conf/web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
indicating that the DefaultServlet is not used with readonly attribute. Same applies to IDP/AG.