CVE-2026-42267
Undergoing Analysis Undergoing Analysis - In Progress
Formula Injection in Kimai Time Tracking Application

Publication date: 2026-05-08

Last updated on: 2026-05-08

Assigner: GitHub, Inc.

Description
Kimai is an open-source time tracking application. From version 2.27.0 to before version 2.54.0, any ROLE_USER can create a tag with a formula string as its name (e.g. =SUM(54+51)) via POST /api/tags and assign it to a timesheet. When an admin exports timesheets to XLSX, ArrayFormatter.formatValue() joins tag names with implode() and returns the result unchanged. OpenSpout promotes any =-prefixed string to a FormulaCell, writing <f>SUM(54+51)</f> into the XLSX archive. Excel evaluates the formula when the file is opened. This issue has been patched in version 2.54.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-08
Last Modified
2026-05-08
Generated
2026-06-19
AI Q&A
2026-05-08
EPSS Evaluated
2026-06-18
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
kimai kimai From 2.27.0 (inc) to 2.54.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1236 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.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in Kimai versions 2.27.0 to 2.53.0, where any user with the ROLE_USER role can create a tag with a formula string (for example, =SUM(54+51)) as its name via the POST /api/tags endpoint and assign it to a timesheet.

When an administrator exports timesheets to XLSX format, the function ArrayFormatter.formatValue() joins tag names without sanitizing them. OpenSpout then interprets any string starting with = as a formula cell, embedding the formula in the XLSX file.

When the exported file is opened in Excel or LibreOffice Calc, the formula executes automatically, potentially allowing malicious code execution or other harmful effects.

The root cause is that tag name validation does not block formula trigger characters like =, +, -, or @, and the sanitizeDDE() function is not called.

Impact Analysis

The impact of this vulnerability is significant because a single malicious tag created by any user can affect all future timesheet exports until the tag is deleted.

When an administrator exports timesheets to XLSX, the malicious formula embedded in the tag name will execute automatically upon opening the file in Excel or LibreOffice Calc.

This can lead to unintended code execution on the administrator's workstation, potentially compromising system security or data integrity.

Detection Guidance

This vulnerability can be detected by checking if any tags created by users with ROLE_USER contain formula strings starting with characters like =, +, -, or @. Specifically, you can inspect tags created via the POST /api/tags endpoint for names that resemble spreadsheet formulas (e.g., =SUM(54+51)).

To detect such tags, you can query the database or use API calls to list tags and filter those starting with formula trigger characters.

  • Use an API call or database query to list all tags and check for names starting with '=' or other formula characters.
  • Example command (assuming access to the database):
  • SQL: SELECT * FROM tags WHERE name LIKE '=%%' OR name LIKE '+%%' OR name LIKE '-%%' OR name LIKE '@%%';
  • Alternatively, use curl to fetch tags via API and grep for suspicious names:
  • curl -X GET https://your-kimai-instance/api/tags | grep '"name":"='
Mitigation Strategies

Immediate mitigation steps include preventing users from creating tags with names starting with formula trigger characters such as =, +, -, or @.

You should update Kimai to version 2.54.0 or later, where this issue has been patched by disallowing = in tag names and using OpenSpout's TextCell for all string values to avoid formula execution.

Until you can update, manually audit and delete any tags with formula-like names to prevent malicious formulas from being included in exported XLSX files.

  • Upgrade Kimai to version 2.54.0 or later.
  • Audit and remove any tags starting with =, +, -, or @.
  • Educate administrators to be cautious when exporting timesheets to XLSX if suspicious tags exist.
Compliance Impact

The provided information does not explicitly mention the impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-42267. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart