sábado, 13 de novembro de 2010

Security Advisory: Spree e-commerce JSON v.0.11x

Uma versão em PDF também está disponível | A PDF version is also available

Spree e-commerce JSON Hijacking Vulnerabilities - CVE-2010-3978


Introduction


Spree e-commerce is an open source commerce platform written for the Ruby on Rails framework supporting "Over 100 extensions created by our active and dedicated community". This problem was confirmed in the following versions of the Spree e-commerce, other versions maybe also affected.

  • All 0.11.x versions

  • The upcoming code 0.30.x versions


CVSS Scoring System


The CVSS score is: 2.7

  • Base Score: 3.3

  • Temporal Score: 2.7


We used the following values to calculate the scores:

  • Base score is: AV:N/AC:L/Au:N/C:C/I:N/A:N

  • Temporal score is: E:F/RL:OF/RC:C


Details


There are multiple JSON Hijacking vulnerabilities and as result, an attacker can steal confidential information such as product costs, price and quantities and users email, encrypted password, tokens, OpenID identifier, phone and address as well as orders count and values by period.

There are some pages within the default Spree installation that use JavaScript Object Notation (JSON) as a transport mechanism between the client and the server. As the application cannot differentiate real requests from forged requests, and the JSON object returned can be accessed by the attacker's malicious code via a script tag, those pages are vulnerable to an attack known as JSON Hijacking.

The affected pages are:

- /admin/products.json

- /admin/users.json

- /admin/overview/get_report_data

Proof of concept exploitation code is available to interested parties.

Credits


The vulnerability described in this security advisory was discovered by Gabriel Quadros on October 1st 2010 during a internal security research.

quarta-feira, 3 de novembro de 2010

JSON Hijacking Vulnerability

Trabalhando em conjunto com o Spree e a Locaweb, identificamos uma vulnerabilidade na aplicação que foi trabalhada junto com o fabricante dentro de nossa política de Responsible Disclosure, resultando em alterações no release 0.11.2 que corrigem o problema.

Nos próximos dias iremos publicar o Security Advisory detalhando este ponto, mas você já pode ver no blog da Spree a descrição da falha e a correção disponibilizada.