SEC Consult SA-20180906-0 :: CSV Formula Injection in DokuWiki

From: SEC Consult Vulnerability Lab <research@sec-consult.com>
To: bugtraq@securityfocus.com,fulldisclosure@seclists.org
Cc:
Subject: SEC Consult SA-20180906-0 :: CSV Formula Injection in DokuWiki
Date:


SEC Consult Vulnerability Lab Security Advisory < 20180906-0 >
=======================================================================
              title: CSV Formula Injection
            product: DokuWiki
 vulnerable version: 2018-04-22a "Greebo" and older versions
      fixed version: None
         CVE number: CVE-2018-15474
             impact: Medium
           homepage: https://www.dokuwiki.org
              found: 2018-07-09
                 by: Jean-Benjamin Rousseau (Office Zurich)
                     SEC Consult Vulnerability Lab

                     An integrated part of SEC Consult
                     Europe | Asia | North America

                     https://www.sec-consult.com

=======================================================================

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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SEC Consult Vulnerability Lab

SEC Consult
Europe | Asia | North America

About SEC Consult Vulnerability Lab
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult. It
ensures the continued knowledge gain of SEC Consult in the field of network
and application security to stay ahead of the attacker. The SEC Consult
Vulnerability Lab supports high-quality penetration testing and the evaluation
of new offensive and defensive technologies for our customers. Hence our
customers obtain the most current information about vulnerabilities and valid
recommendation about the risk profile of new technologies.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Interested to work with the experts of SEC Consult?
Send us your application https://www.sec-consult.com/en/career/index.html

Interested in improving your cyber security with the experts of SEC Consult?
Contact our local offices https://www.sec-consult.com/en/contact/index.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mail: research at sec-consult dot com
Web: https://www.sec-consult.com
Blog: http://blog.sec-consult.com
Twitter: https://twitter.com/sec_consult

EOF Jean-Benjamin Rousseau / @2018





Copyright © 1995-2018 LinuxRocket.net. All rights reserved.