DokuWiki CSV Formula Injection Vulnerability

Project Description

DokuWiki is affected by a CSV formula injection vulnerability, which can be exploited by an unauthenticated attacker to exfiltrate sensitive data or even to execute arbitrary code on the local machine of the victim.


Vendor description

“DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn’t require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator’s favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.”

Source: https://www.dokuwiki.org/dokuwiki

Business recommendation

The issue will not be fixed according to the vendor. Users are advised to be careful when opening files via the CSV export functionality.

SEC Consult recommends to perform a thorough security review conducted by security professionals to identify and resolve all security issues.

Vulnerability overview/description

1) CSV Formula Injection vulnerability

The administration panel of the application has a “CSV export of users” feature which allows the export of user data (username, real name, email address and user groups) as a CSV file. On the registration page, it is possible for an attacker to set certain values in the Real Name field that – when exported and opened with a spreadsheet application (Microsoft Excel, Open Office, etc.) – will be interpreted as a formula. This puts the administrators who open those malicious exported files at risk. Exfiltration of sensitive data or even the execution of arbitrary code on the local machine of the victim will be the result. The final impact depends on the used spreadsheet software on the client of the victim.

Proof of Concept

1) CSV Formula Injection vulnerability

Registration URL:
http://www.example.com/doku.php?id=start&do=register

When the registration request is submitted, the following parameters are sent in a POST request:
sectok=&do=register&save=1&login=login_parameter&fullname=evil_csv_formula_injection_payload&email=email_address

The “fullname” parameter is not sanitized before being stored and during the CSV export. An attacker can inject different CSV formula payloads in the fullname parameter. For example:
=cmd|'/C calc'!A0

As soon as the file gets opened in Microsoft Excel, the program calc.exe is launched. Different warnings might pop up. However, these warnings are usually ignored because the file comes from a trusted source.

Vulnerable / tested versions

The latest version 2018-04-22a “Greebo” has been tested:
https://download.dokuwiki.org/out/dokuwiki-8a269cc015a64b40e4c918699f1e1142.tgz

Also found to be vulnerable:

  • 2017-02-19 stable release
  • 2016-06-26 stable release
  • 2015-08-10 stable release
  • 2014-09-29 stable release
  • 2014-05-05 stable release
  • 2013-12-08 stable release

Vendor contact timeline

2018-07-18 Contacting vendor through andi@splitbrain.org.
2018-07-18 Vendor replied, they asked for the advisory without encryption.
2018-07-19 Advisory sent without encryption.
2018-07-19 Vendor replied with no intention to fix the vulnerability.
2018-07-30 Reminder sent to the vendor. No reply.
2018-08-20 Ask for updates to the vendor.
2018-08-20 Vendor replied that no patch will be provided.
2018-09-06 Public release of security advisory.

Solution

The issue will not be fixed according to the vendor:
https://github.com/splitbrain/dokuwiki/issues/2450

Workaround

None

Advisory URL

https://www.sec-consult.com/en/vulnerability-lab/advisories/index.html

 

EOF Jean-Benjamin Rousseau / @2018

Project Details

  • TitleCSV Formula Injection
  • ProductDokuWiki
  • Vulnerable version2018-04-22a "Greebo" and older versions
  • Fixed versionNone
  • CVE numberCVE-2018-15474
  • ImpactMedium
  • Homepagehttps://www.dokuwiki.org
  • Found2018-07-09
  • ByJean-Benjamin Rousseau (Office Zurich) | SEC Consult Vulnerability Lab

Cookie Preference

Please select an option. You can find more information about the consequences of your choice at Help.

Select an option to continue

Your selection was saved!

Help

Help

To continue, you must make a cookie selection. Below is an explanation of the different options and their meaning.

  • Accept all cookies:
    All cookies such as tracking and analytics cookies.
  • Accept first-party cookies only:
    Only cookies from this website.
  • Reject all tracking cookies:
    No cookies except for those necessary for technical reasons are set.

You can change your cookie setting here anytime: Privacy Statement. Legal Notice

Back