Is NAM vulnerable to Apache Tomcat RCE if readonly set to false (CVE-2017-12617)

  • 7022154
  • 24-Oct-2017
  • 12-Mar-2018

Environment


Access Manager 4.3
Access Manager 4.4
Access Manager 4.2
CVE-2017-12617

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 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.

Status

Security Alert