Apache MyFaces information disclosure vulnerability

Olá pessoal,
     Existe uma lista que participo há muito tempo e que é bem conhecida no mundo da “segurança da informação”, estou falando do http://www.securityfocus.com/. Recentemente fiquei surpreso ao receber em minha caixa postal a notícia de que encontraram uma “Senhora Falha” na implementação JSF  “MyFaces”, pois bem, encontrar falhas é super normal e dica-se de passagem, todo software tem, não é mesmo ?
     O que me assustou na verdade foi o perigo dessa, pra quem estudou JEE, sabe que o arquivo web.xml deve ficar oculto para o usuário, agora imagine adicionar alguns argumentos a “query string” e voilá, o conteudo deste arquivo vem todinho no response http.
     Esse tipo de falha que fornece informações sobre o ambiente em que o software opera é um prato cheio para outras “brechas”, sendo assim, vamos tomar cuidado, ok ?
    Logo abaixo detalhes desta falha, que entra em uma categoria conhecida como disclosure.

—————————————————————————————————-
Apache MyFaces information disclosure vulnerability

Severity: Important

Vendor: The Apache Software Foundation

Versions Affected:
          MyFaces Core 2.0.1 to 2.0.11
          MyFaces Core 2.1.0 to 2.1.5
          Earlier versions are not affected

Description:

MyFaces JavaServer Faces (JSF) allows relative paths in the
javax.faces.resource ‘ln’ parameter or writing the url so the resource
name include ‘..’ sequences . An attacker could use the security
vulnerability to view files that they should not be able to.

Mitigation:

Users of affected versions should apply one of the following mitigations:
MyFaces Core 2.0.x users should update to 2.0.12
MyFaces Core 2.1.x users should update to 2.1.6

Example:

In linux or similar systems:

http://:/<cont

ext-root>/faces/javax.faces.resource/web.xml?ln=../WEB-INF
http://:/<context-root>/faces/javax.faces.resource/../WEB-INF/web.xml

or in windows systems:

http://:/&lt;context-root>/faces/javax.faces.resource/web.xml?ln=..\\WEB-INF
http://:/<context-root>/faces/javax.faces.resource/..\\WEB-INF/web.xml

The ‘ln’ parameter should not allow a relative path. In the above example
the contents of the web.xml are displayed in the response to the attacker.
The part of the url that derive the resource name should not allow ‘..’ as
valid char sequence.

Credit: Issue reported by Paul Nicolucci thanks to the security team at IBM

References:

—————————————————————————————————-</cont</cont

Abrcs.
Natanael Fonseca