Tobias and others,
I recently had several emails with WordFence and they just provided me with a new URL that states the vulnerability still exists in v.1.14. In reading the report (link and content below), it appears that the problem is:
1. Limited to someone with administrator access.
2. When an administrator EXPORTs a CSV file from TablePress and then downloads it, that CSV file can include unsafe formulas.
It seems to me the only way this could be a problem would be is if the administrator (1) modified a field in TablePress and then (2) downloaded the CSV file and then (3) imported the CSV into Excel.
It seems to me like the example given could not be any more unsafe than the original spreadsheet formula: [(1) Export a CSV from Excel, (2) Import the CSV into Tablepress, (3) Export from TablePress to CSV, and (4) Import the CSV to Excel]. This process would only end up re-importing a formula that (1) was in the original Excel file (2) and would not, to my knowledge, be used in any way by TablePress.
Anyway, I agree that, while the report may be technically accurate, the hoops needed to jump through to cause a problem are numerous. I saw Tobias suggest one fix was to prevent the import of a CSV field with a formula, but expressed concern that then the administrator would lose the formula on export from TablePress. I have a really difficult time believing this would be a real problem. I mean, who actually works like that?
Anyway, my comfort level is now fine using it as is, but I also think that a mod to strip formulas from CSV files on import would be a helpful modification (or option).
Mark Hunnibell
https://www.exploit-db.com/exploits/50270
# Exploit Title: WordPress Plugin TablePress 1.14 - CSV Injection
# Date: 07/09/2021
# Exploit Author: Nikhil Kapoor
# Vendor Homepage:
# Software Link: https://www.ads-software.com/plugins/tablepress/
# Version: 1.14
# Category: Web Application
# Tested on Windows
How to Reproduce this Vulnerability:
1. Install WordPress 5.8.0
2. Install and activate TablePress
3. Navigate to TablePress >> Add New >> Enter Table Name and Description (If You want this is Optional) >> Select Number of Rows and Columns
4. Click on Add Table
5. Now in Table Content Input Field Enter CSV Injection Payload
6. Click on Save Changes
6. Now go to All Table in TablePress select our entered table >> Click on Export >> Select CSV as an Export Format.
7. Click on Download Export File
8. Open the exported CSV file you will see that CSV Injection got Successfully Executed.
Payload Used :- @SUM(1+9)*cmd|' /C calc'!A0