CVE-2026-55154: EspoCRM: CSV/Formula Injection sanitizer bypass via leading whitespace/control characters in export

Published Oct 15, 2026
·
Updated

EspoCRM is an open source customer relationship management application. Prior to 9.3.9, application/Espo/Tools/Export/Format/Csv/Processor.php, application/Espo/Tools/Export/Format/Xlsx/OpenSpoutProcessor.php, and application/Espo/Tools/Export/Format/Xlsx/PhpSpreadsheetProcessor.php inspect only the first byte in sanitizeCellValue(). An authenticated low-privileged user can store a free-text value whose formula trigger is preceded by whitespace or a control character, causing CSV or XLSX export to omit the leading single-quote formula-neutralization prefix. When a privileged user opens the exported file and accepts applicable spreadsheet security prompts, spreadsheet software can ignore the whitespace or control-character prefix and evaluate the cell as a formula, permitting outbound data disclosure and, on legacy configurations with DDE enabled, command execution. This issue is fixed in version 9.3.9.

Affected Software

1 affected component
EspoCRM EspoCRM<9.3.9

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade EspoCRM to a version that resolves this vulnerability.

    Fixed in 9.3.9

Event History

Oct 15, 2026
CVE Published
via MITRE·02:49 PM
Data Sourced
via MITRE·02:49 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to exploitation?

EspoCRM instances prior to 9.3.9 are exposed where a low-privileged authenticated user can store free-text values and a privileged user later exports and opens CSV or XLSX data. Exploitation also depends on the privileged user accepting applicable spreadsheet security prompts.

2

What does an attacker need to do?

The attacker needs a low-privileged authenticated account and the ability to place a formula-like value in a free-text field, with the formula trigger preceded by whitespace or a control character. They then rely on a privileged user exporting the data and opening it in spreadsheet software that evaluates the cell.

3

Are command execution and data disclosure equally likely outcomes?

The issue can permit outbound data disclosure when the formula is evaluated. Command execution requires a legacy spreadsheet configuration with DDE enabled, in addition to the export being opened and applicable prompts being accepted.

4

What version fixes the issue?

Upgrade EspoCRM to version 9.3.9, which fixes the sanitizer handling in CSV and XLSX export processors.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203