Issue580

Title CSV Injection Vulnerability
Priority urgent Status chatting
Superseder Nosy List maciej.szulik, r.david.murray
Assigned To Topics

Created on 2016-02-23.10:19:35 by maciej.szulik, last changed 2016-02-23.13:20:39 by r.david.murray.

Messages
msg3008 (view) Author: maciej.szulik Date: 2016-02-23.10:19:34
Copied from http://bugs.python.org/issue26399:

The "Download as CSV " feature of bugs.python.org does not properly "escape" fields. This allows an adversary to turn a field into active content so when we download the csv and opens it, the active content gets executed. Here is more information about this issue:
http://www.contextis.com/resources/blog/comma-separated-vulnerabilities/

Steps to Reproduce.
1. Enter the title with the payload : -2+3+cmd|' /C calc'!A0
2. Download the bugs as CSV
3. Open it with excel and Calc will get prompted.

Depending upon the system user privileges, an attacker can perform various tasks using the same.
If the user is with high privilege, it is easy to change the system password as mentioned below
-2+3+cmd|' /C net user administrator lol@123'!A0

Mitigations:
Ensure all fields are properly "escaped" before returning the CSV file to the user.

Regards,
Acid

Impact of this one is high, as download as CSV is present for guest user as well. Means anyone can download the bugs using "Download as CSV " function and as the file is downloaded from the trusted resource so the possibility is high the code will get executed.
msg3009 (view) Author: r.david.murray Date: 2016-02-23.13:20:39
This should be reported to Roundup upstream.  The fix should be simple (just changing the csv dialect), so it doesn't really matter who develops the patch as long as both upstream and we apply it :)
History
Date User Action Args
2016-02-23 13:20:39r.david.murraysetstatus: unread -> chatting
nosy: + r.david.murray
messages: + msg3009
2016-02-23 10:19:35maciej.szulikcreate