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:
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