CVE Vulnerabilities

CVE-2013-5696

Cross-Site Request Forgery (CSRF)

Published: Sep 23, 2013 | Modified: Sep 23, 2013
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
6.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

inc/central.class.php in GLPI before 0.84.2 does not attempt to make install/install.php unavailable after an installation is completed, which allows remote attackers to conduct cross-site request forgery (CSRF) attacks, and (1) perform a SQL injection via an Etape_4 action or (2) execute arbitrary PHP code via an update_1 action.

Weakness

The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.

Affected Software

Name Vendor Start Version End Version
Glpi Glpi-project * 0.84.1 (including)
Glpi Glpi-project 0.5 (including) 0.5 (including)
Glpi Glpi-project 0.5-rc1 (including) 0.5-rc1 (including)
Glpi Glpi-project 0.5-rc2 (including) 0.5-rc2 (including)
Glpi Glpi-project 0.6 (including) 0.6 (including)
Glpi Glpi-project 0.6-rc1 (including) 0.6-rc1 (including)
Glpi Glpi-project 0.6-rc2 (including) 0.6-rc2 (including)
Glpi Glpi-project 0.6-rc3 (including) 0.6-rc3 (including)
Glpi Glpi-project 0.20 (including) 0.20 (including)
Glpi Glpi-project 0.21 (including) 0.21 (including)
Glpi Glpi-project 0.30 (including) 0.30 (including)
Glpi Glpi-project 0.31 (including) 0.31 (including)
Glpi Glpi-project 0.40 (including) 0.40 (including)
Glpi Glpi-project 0.41 (including) 0.41 (including)
Glpi Glpi-project 0.42 (including) 0.42 (including)
Glpi Glpi-project 0.51 (including) 0.51 (including)
Glpi Glpi-project 0.51a (including) 0.51a (including)
Glpi Glpi-project 0.65 (including) 0.65 (including)
Glpi Glpi-project 0.65-rc1 (including) 0.65-rc1 (including)
Glpi Glpi-project 0.65-rc2 (including) 0.65-rc2 (including)
Glpi Glpi-project 0.68 (including) 0.68 (including)
Glpi Glpi-project 0.68-rc1 (including) 0.68-rc1 (including)
Glpi Glpi-project 0.68-rc2 (including) 0.68-rc2 (including)
Glpi Glpi-project 0.68-rc3 (including) 0.68-rc3 (including)
Glpi Glpi-project 0.68.1 (including) 0.68.1 (including)
Glpi Glpi-project 0.68.2 (including) 0.68.2 (including)
Glpi Glpi-project 0.68.3 (including) 0.68.3 (including)
Glpi Glpi-project 0.70 (including) 0.70 (including)
Glpi Glpi-project 0.70-rc1 (including) 0.70-rc1 (including)
Glpi Glpi-project 0.70-rc2 (including) 0.70-rc2 (including)
Glpi Glpi-project 0.70-rc3 (including) 0.70-rc3 (including)
Glpi Glpi-project 0.70.1 (including) 0.70.1 (including)
Glpi Glpi-project 0.70.2 (including) 0.70.2 (including)
Glpi Glpi-project 0.71 (including) 0.71 (including)
Glpi Glpi-project 0.71.1 (including) 0.71.1 (including)
Glpi Glpi-project 0.71.1-rc1 (including) 0.71.1-rc1 (including)
Glpi Glpi-project 0.71.1-rc2 (including) 0.71.1-rc2 (including)
Glpi Glpi-project 0.71.1-rc3 (including) 0.71.1-rc3 (including)
Glpi Glpi-project 0.71.2 (including) 0.71.2 (including)
Glpi Glpi-project 0.71.3 (including) 0.71.3 (including)
Glpi Glpi-project 0.71.4 (including) 0.71.4 (including)
Glpi Glpi-project 0.71.5 (including) 0.71.5 (including)
Glpi Glpi-project 0.71.6 (including) 0.71.6 (including)
Glpi Glpi-project 0.72 (including) 0.72 (including)
Glpi Glpi-project 0.72-rc1 (including) 0.72-rc1 (including)
Glpi Glpi-project 0.72-rc2 (including) 0.72-rc2 (including)
Glpi Glpi-project 0.72-rc3 (including) 0.72-rc3 (including)
Glpi Glpi-project 0.72.1 (including) 0.72.1 (including)
Glpi Glpi-project 0.72.2 (including) 0.72.2 (including)
Glpi Glpi-project 0.72.3 (including) 0.72.3 (including)
Glpi Glpi-project 0.72.4 (including) 0.72.4 (including)
Glpi Glpi-project 0.78 (including) 0.78 (including)
Glpi Glpi-project 0.78.1 (including) 0.78.1 (including)
Glpi Glpi-project 0.78.2 (including) 0.78.2 (including)
Glpi Glpi-project 0.78.3 (including) 0.78.3 (including)
Glpi Glpi-project 0.78.4 (including) 0.78.4 (including)
Glpi Glpi-project 0.78.5 (including) 0.78.5 (including)
Glpi Glpi-project 0.80 (including) 0.80 (including)
Glpi Glpi-project 0.80.1 (including) 0.80.1 (including)
Glpi Glpi-project 0.80.2 (including) 0.80.2 (including)
Glpi Glpi-project 0.80.3 (including) 0.80.3 (including)
Glpi Glpi-project 0.80.4 (including) 0.80.4 (including)
Glpi Glpi-project 0.80.5 (including) 0.80.5 (including)
Glpi Glpi-project 0.80.6 (including) 0.80.6 (including)
Glpi Glpi-project 0.80.7 (including) 0.80.7 (including)
Glpi Glpi-project 0.80.61 (including) 0.80.61 (including)
Glpi Glpi-project 0.83 (including) 0.83 (including)
Glpi Glpi-project 0.83.1 (including) 0.83.1 (including)
Glpi Glpi-project 0.83.2 (including) 0.83.2 (including)
Glpi Glpi-project 0.83.3 (including) 0.83.3 (including)
Glpi Glpi-project 0.83.4 (including) 0.83.4 (including)
Glpi Glpi-project 0.83.5 (including) 0.83.5 (including)
Glpi Glpi-project 0.83.6 (including) 0.83.6 (including)
Glpi Glpi-project 0.83.7 (including) 0.83.7 (including)
Glpi Glpi-project 0.83.8 (including) 0.83.8 (including)
Glpi Glpi-project 0.83.9 (including) 0.83.9 (including)
Glpi Glpi-project 0.83.31 (including) 0.83.31 (including)
Glpi Glpi-project 0.83.91 (including) 0.83.91 (including)
Glpi Glpi-project 0.84 (including) 0.84 (including)
Glpi Ubuntu lucid *
Glpi Ubuntu precise *
Glpi Ubuntu quantal *
Glpi Ubuntu raring *
Glpi Ubuntu saucy *
Glpi Ubuntu upstream *
Glpi Ubuntu utopic *
Glpi Ubuntu vivid *
Glpi Ubuntu wily *

Potential Mitigations

  • Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, use anti-CSRF packages such as the OWASP CSRFGuard. [REF-330]
  • Another example is the ESAPI Session Management control, which includes a component for CSRF. [REF-45]
  • Use the “double-submitted cookie” method as described by Felten and Zeller:
  • When a user visits a site, the site should generate a pseudorandom value and set it as a cookie on the user’s machine. The site should require every form submission to include this value as a form value and also as a cookie value. When a POST request is sent to the site, the request should only be considered valid if the form value and the cookie value are the same.
  • Because of the same-origin policy, an attacker cannot read or modify the value stored in the cookie. To successfully submit a form on behalf of the user, the attacker would have to correctly guess the pseudorandom value. If the pseudorandom value is cryptographically strong, this will be prohibitively difficult.
  • This technique requires Javascript, so it may not work for browsers that have Javascript disabled. [REF-331]

References