usd-2020-0027 | OScommerce Phoenix CE


Advisory ID: usd-2020-0027
CVE Number: CVE-2020-27975
Affected Product: OScommerce Phoenix CE
Affected Version: < 1.0.5.4
Vulnerability Type: Cross Site Request Forgery (CSRF)
Security Risk: High
Vendor URL: https://www.oscommerce.com/
Vendor Status: Not fixed

Description

The open source application is vulnerable to a number of Cross-Site Request Forgery (CSRF) attacks. CSRF is an attack that forces an end user to execute unwanted actions on a web application in which they’re currently authenticated. A lot of critical functions are executed from the shop backend that are not secured against CSRF attacks. In the worst case CSRF may lead to code execution.

Proof of Concept (PoC)

An attacker could create an HTML page with the following content:

An already authenticated backend user who visits the attacker’s site and presses the „Submit request“ button would, unknowingly, modify parts of his PHP code in the `/includes/languages/english/login.php` and allow code execution for the attacker.

The following request allows an attacker to view the `/etc/passwd` file.

Fix

Use token-based Anti CSRF mechanisms. It can be achieved either with state (synchronizer token pattern) or stateless (encrypted or hashed based token pattern). CSRF tokens should be generated on the server-side. They can be generated once per user session or for each request. An attacker would therefore have to guess or know the randomly generated token for a successful attack.

Timeline

  • 2020-03-18 Vulnerability discovered
  • 2020-03-20 First contact attempt
  • 2020-03-27 Advisory send to vendor
  • 2020-06-04 Request for update from vendor – no response
  • 2020-06-25 Request for update from vendor – no response
  • 2020-07-30 Request for update from vendor – no response
  • 2020-10-20 Request for update from vendor – no response
  • 2020-10-27 Security advisory released

Credits

This security vulnerabilities were found by Gerbert Roitburd of usd AG.