By Null Ventures MCP platform
Menu

vulnerability / NVI-00001996 / Revision 1

Kimai has an XXE Leading to Local File Read

OSV carries this publisher advisory for kimai/kimai. This is an aggregated source copy; consult the original publisher and compare update dates.

source listedactiveGHSA-534c-hcr7-67jg

This report has not inspected your inventory, configuration, deployed build, reachability or evidence. A catalog listing and a severity score do not establish exposure or compromise.

01 / Meaning

Why it matters

Published affected context helps an owner decide what evidence to gather. This report has not examined your application.

02 / Applicability

The affected context

Affected versions, configuration prerequisites and known exclusions are public. Confirm each one against the deployed service.

kimai/kimai

source listed
  • ECOSYSTEM: introduced 0; fixed 2.21.0

### Summary Kimai uses PHPSpreadsheet for importing and exporting invoices. Recently, a CVE was identified in PHPSpreadsheet, which could lead to an XXE vulnerability. ### Details Exploitation requires an Administrator account, allowing the upload of an `XLSX` template containing the payload. The vulnerability is triggered by the following code snippet: ```php // https://github.com/kimai/kimai/blob/b1903ba18359be16dd32ea9c40377c486498f082/src/Invoice/Renderer/AbstractSpreadsheetRenderer.php#L41 public function render(InvoiceDocument $document, InvoiceModel $model): Response { $spreadsheet = IOFactory::load($document->getFilename()); $worksheet = $spreadsheet->getActiveSheet(); $entries = $model->getCalculator()->getEntries(); $sheetReplacer = $model->toArray(); $invoiceItemCount = \count($entries); if ($invoiceItemCount > 1) { $this->addTemplateRows($worksheet, $invoiceItemCount); } } ``` The `IOFactory::load` function utilizes `simplexml_load_string`, which has previously been demonstrated to be vulnerable to

GitHub Advisory Database via OSV

03 / Response

What to do next

  1. vendor patch

    The original advisory lists fixed boundaries 2.21.0 for kimai/kimai. Confirm the publisher’s latest guidance.

    Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system. GitHub Advisory Database via OSV

A fixed release is not deployment evidence.

Check current vendor support and compatibility. After making a change, verify the deployed build and relevant runtime conditions. Keep the evidence, owner and time. An updated lockfile alone does not prove what is running.

04 / Limits

What this report cannot establish

  • Customer inventory, deployment, reachability and exploitation have not been inspected.
Read the collection and interpretation limits ↗

05 / Provenance

Sources you can inspect

Each assertion retains its source. Mirrored records may repeat one underlying publisher; additional links are not independent corroboration.

  1. GHSA-534c-hcr7-67jg ↗

    GitHub Advisory Database via OSV · vendor advisory

    Observed . GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.

Public revision history

Only published revisions appear here. Routine fetches do not create a material-change event.

  1. Revision 1 ·

    First indexed by Null; source disclosure date is shown separately.

Read the public revision data ↗

The next step is private

Bring the question into your environment.

The connected workflow is a development preview for inventory, contextual matching, owner decisions and evidence-based verification. No system-specific result is generated by this page.

See the synthetic workflow preview ↗