diff options
| author | Thomas <thomas.giudici@proton.me> | 2026-06-18 12:17:18 +0200 |
|---|---|---|
| committer | Thomas <thomas.giudici@proton.me> | 2026-06-18 16:29:34 +0200 |
| commit | 0fbb1716fba3847a7d6f60287d20c1d9f03489cf (patch) | |
| tree | c4ac0b7ccba01138bbb1fd0d1d30041965647ff8 /.gitmodules | |
| parent | a003cb75b6416488d0a448198e6de03211ae1a67 (diff) | |
| download | monzero-gui-0fbb1716fba3847a7d6f60287d20c1d9f03489cf.tar.gz monzero-gui-0fbb1716fba3847a7d6f60287d20c1d9f03489cf.tar.xz monzero-gui-0fbb1716fba3847a7d6f60287d20c1d9f03489cf.zip | |
TransactionHistory: prevent CSV formula injection in writeCSV
writeCSV wrote the transaction note and subaddress label into the CSV
stripping only the quote character. A cell beginning with =, +, - or @
can be interpreted as a formula by spreadsheet software on open, which
CSV quoting does not prevent.
The transaction note can be attacker-controlled: a payment request's
tx_description is stored as the note when the payment is sent, so a
crafted note can run a spreadsheet formula when the user later exports
and opens their history, potentially enabling data exfiltration or
command execution.
Prefix affected fields with a single quote so they are treated as text;
fields beginning with whitespace or a control character are prefixed too.
Co-authored-by: selsta <selsta@sent.at>
Diffstat (limited to '.gitmodules')
0 files changed, 0 insertions, 0 deletions
