Grails by Pivotal versions 2.0.0 through 2.3.5 suffer from an information disclosure vulnerability. The Grails resources plug-in, a default dependency of Grails since 2.0.0, does not block access to resources located under /WEB-INF by default. This means that both configuration files and class files are publicly accessible when they should be private.
451b602b09ccce7eff090015aff878aa007f796e3c4b5d2deb17b38dbd1a45a0
CVE-2014-0053 Information Disclosure in Grails applications
Severity: Important
Vendor: Grails by Pivotal
Product 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 normalise the requested URI before filtering allowing the
block to be bypassed via directory traversal.
Mitigation:
Users of affected versions should apply one of the following
mitigations:
- 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 the redploy 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
security@gopivotal.com
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:
https://twitter.com/Ramsharan065/status/434975409134792704
http://www.gopivotal.com/security/cve-2014-0053 (may take 24 hours to update)
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.