aboutsummaryrefslogtreecommitdiff
path: root/src/model/SubaddressModel.cpp
diff options
context:
space:
mode:
authorThomas <thomas.giudici@proton.me>2026-06-18 12:17:18 +0200
committerThomas <thomas.giudici@proton.me>2026-06-18 16:29:34 +0200
commit0fbb1716fba3847a7d6f60287d20c1d9f03489cf (patch)
treec4ac0b7ccba01138bbb1fd0d1d30041965647ff8 /src/model/SubaddressModel.cpp
parenta003cb75b6416488d0a448198e6de03211ae1a67 (diff)
downloadmonzero-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 'src/model/SubaddressModel.cpp')
0 files changed, 0 insertions, 0 deletions