Description
ExcelJS through 4.4.0 contains a formula injection vulnerability in the totals row formula getter in lib/doc/table.js that fails to escape [, ], # and ' characters in structured reference column names. Attackers can supply column names containing ] via untrusted input like imported CSV headers to inject formulas such as HYPERLINK that exfiltrate cell values when users open and click the generated workbook.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| https://github.com/guyonroche | exceljs | 0 ≤4.4.0 | — |
References
- https://github.com/exceljs/exceljs
- https://github.com/mateocallec/exceljs-hardened/security/advisories/GHSA-qjfh-3mh9-356v
- https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/table.js#L84-L104
- https://www.vulncheck.com/advisories/exceljs-through-4.4.0-formula-injection-via-table-totals-row-column-names