CWE-1236 — Improper Neutralization of Formula Elements in a CSV File
CWE-1236: Improper Neutralization of Formula Elements in a CSV File
MITRE CWE weakness
| Kind | Weakness |
| Abstraction | Base |
| Status | Incomplete |
| Likelihood of exploit | — |
Description
The product saves user-provided information into a Comma-Separated Value (CSV) file, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as a command when the file is opened by a spreadsheet product.
Common consequences
- Confidentiality: Read Application Data, Execute Unauthorized Code or Commands
Mitigations
Implementation — When generating CSV output, ensure that formula-sensitive metacharacters are effectively escaped or removed from all data before storage in the resultant CSV. Risky characters include '=' (equal), '+' (plus), '-' (minus), and '@' (at).
Implementation — If a field starts with a formula character, prepend it with a ' (single apostrophe), which prevents Excel from executing the formula.
Architecture and Design — Certain implementations of spreadsheet software might disallow formulas from executing if the file is untrusted, or if the file is not authored by the current user.
References
- CWE page: https://cwe.mitre.org/data/definitions/1236.html
- CWE list: https://cwe.mitre.org/data/index.html