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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s