All Vulnerability Reports

CVE-2014-0053 Information Disclosure when using Grails


Severity

Important

Vendor

Grails by Pivotal

Versions Affected

  • Grails Resources plugin 1.0.0 to 1.2.5

Products Known to Depend on the Affected Product

  • Grails 2.0.0 to 2.3.6

Description

The Grails resources plug-in, a default dependency of Grails since 2.0.0, does not block access to resources located under /WEB-INF or /META-INF by default. This means that both configuration files and class files are publicly accessible when they should be private. Further, the filtering mechanism that applies any configured block does not normalize the requested URI before filtering allowing the block to be bypassed via directory traversal.

Mitigation

Users of affected versions should apply the following mitigation:

  • Upgrade the resources plug-in to 1.2.6, configure the resources plug-in to block access to resources under /WEB-INF and /META-INF and redeploy the application
  • Prevent access to resources under /WEB-INF and /META-INF in the reverse proxy (if one is used)
  • Possible configuration options to block access to /WEB-INF include adding the following to grails-app/conf/Config.groovy: grails.resources.adhoc.includes = ['/images/**', '/css/**', '/js/**', '/plugins/**'], grails.resources.adhoc.excludes = ['**/WEB-INF/**','**/META-INF/**']

Credit

The original /WEB-INF issue was identified by @Ramsharan065 but was reported publicly to the Grails team via Twitter. Pivotal strongly encourages responsible reporting of security vulnerabilities via email. The /META-INF aspects of this issue were identified by numerous individuals and reported responsibly to either the Grails team or to the Pivotal Security team. The directory traversal aspects of this vulnerability were reported to the Pivotal security team by Kristian Mattila.

References

History

2014-Feb-16: /WEB-INF issue made public

2014-Feb-19: Initial vulnerability report published

2014-Feb-27: Updated to include information on /META-INf and directory traversal aspects of this vulnerability. Separated out affected product and dependencies Extended affected Grails versions to include 2.3.6 Updated mitigations.