Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCompromise or obtain Kimai admin credentials
-
DeliveryUpload malicious invoice/export template with config() calls
-
ExploitLower-privileged user generates document from template
-
ExecutionServer renders LDAP/SAML secrets into document output
-
PersistAttacker retrieves credential-bearing document
-
ImpactAuthenticate to LDAP/SAML with stolen credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Exploitation requires the attacker to hold Kimai administrator privileges sufficient to upload or modify invoice or export templates via the Kimai web interface. The config() function must be called within a Twig template that passes through the StrictPolicy sandbox, which is the standard path for admin-uploaded templates. Secret exfiltration is triggered when any user with document generation permissions (including lower-privileged team leads with invoice rights) generates a document from the malicious template - the admin can also trigger this directly. Limiting factors: external attackers must first compromise a Kimai administrator account before exploitation is possible; Kimai instances where template management is restricted to a single fully-trusted administrator, or where templates are deployed read-only via version control rather than the UI, are not exploitable through this path. Organizations not using LDAP or SAML will have a reduced secrets exposure scope, though any kimai.yaml configuration scalar remains reachable via config() regardless of integration type. |
| Impact | The provided CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N contains a critical metric error: PR:N (no privileges required) is flatly inconsistent with the described exploitation prerequisite of administrator-level access to upload templates. This discrepancy materially inflates the score and should not be used for prioritization without correction. Applying PR:H - which accurately reflects the admin requirement - substantially reduces the realistic threat surface. No EPSS data was provided. KEV status is not confirmed; no active exploitation evidence appears in any provided source. The confidentiality impact is high (VC:H) when exploitation does occur, since exposed credentials - LDAP bind passwords and SAML private keys - can enable lateral movement into directory services and identity providers well beyond Kimai itself. The secondary exfiltration channel through lower-privileged users who receive generated documents complicates detection. Real-world risk is therefore meaningful for organizations where Kimai administrator accounts may be compromised or where insider threat is a concern, but the admin prerequisite prevents mass exploitation and limits exposure compared to an unauthenticated flaw of equivalent impact. |
| Exploit ScenarioDerived | A compromised or malicious Kimai administrator uploads an invoice template containing Twig expressions such as {{ config('ldap.connection.password') }} or {{ config('saml.sp.privateKey') }} embedded in formatted invoice fields. When a team lead or other lower-privileged user with invoice generation permissions generates a client invoice using this template, the rendered PDF or export file contains the plaintext credentials. The attacker retrieves the document - either by accessing the output directly as the admin, or by social engineering the lower-privileged user - and uses the obtained LDAP bind password to authenticate to the organization's directory service for lateral movement. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Kimai's Twig sandbox exposes server-wide secrets through an unrestricted config() function in administrator-uploaded invoice and export templates, affecting all versions before 2.56.0. An administrator with template upload privileges can craft a malicious template that renders sensitive configuration values - including LDAP bind passwords and SAML SP private keys - directly into invoice or export documents. Those documents are then delivered to lower-privileged users such as team leads who generate them, creating a stealthy credential exfiltration channel. No public exploit identified at time of analysis, and no CISA KEV listing is present in the provided data.
RemediationAI
Upgrade to Kimai 2.56.0, which is the vendor-released patch confirmed by the GHSA advisory (https://github.com/kimai/kimai/security/advisories/GHSA-vrqv-52x7-rm4v) and VulnCheck. The fix restricts the config() function's key access within the StrictPolicy sandbox. If immediate upgrade is not possible, audit all existing invoice and export templates for use of the config() function - any template calling config() with non-theme keys (beyond 'chart-class' and 'theme.*' constants) should be treated as suspect and removed. Additionally, restrict template upload and modification permissions to the minimum set of trusted administrators, reducing the attack surface from compromised or malicious admin accounts. As a precautionary measure where template access logs are inconclusive, rotate LDAP bind passwords and SAML SP private keys. Note that rotating SAML private keys requires coordinated re-registration of the service provider metadata with the identity provider, which carries operational risk and should be planned accordingly.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kimai uses Twig templates for invoice and export generation, sandboxed by a StrictPolicy class (src/Twig/SecurityPolicy/StrictPolicy.php) intended to restrict what functions are callable. However, the policy's allowedFunctions array explicitly includes 'config' with no key filtering. The config() Twig function (src/Twig/Configuration.php) delegates to App\Configuration\SystemConfiguration::find(), which performs a direct dictionary lookup against the kimai.config container parameter - a dotted-notation flattening of all kimai.yaml entries built at container compile time by AppExtension::loadInternal(). This means every scalar configuration value, including sensitive nodes defined in the LDAP connection schema and SAML SP private key fields (declared in src/DependencyInjection/Configuration.php), is reachable by name. CWE-693 (Protection Mechanism Failure) applies precisely: the sandbox exists and is otherwise functional but fails to enforce the intended security boundary on this specific allow-listed function. CPE cpe:2.3:a:kimai:kimai:*:*:*:*:*:*:*:* covers all Kimai application versions through 2.55.0. The advisory notes this is a second, previously uncovered class of the same defense-in-depth issue addressed in GHSA-rh42-6rj2-xwmc, which added a User-method blocklist but left config() unrestricted.
Know when Kimai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Admin privileges required to upload templates (PR:H); scope changes (S:C) because secrets leak into documents delivered to lower-privileged users and enable compromise of external LDAP/SAML systems.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Kimai versions before 2.56.0 fail to restrict the config() Twig function in sandboxed invoice and export templates, allowing administrators to access arbitrary configuration keys. Attackers with admin privileges can upload malicious templates to exfiltrate server-wide secrets including LDAP bind passwords and SAML private keys into invoice or export documents accessible to lower-privileged users.
Executive ViewAI
A vulnerability in Kimai time-tracking software (versions before 2.56.0) allows administrators to inadvertently expose organization-wide secrets-including LDAP bind passwords and SAML authentication keys-through customized invoice and export templates. These sensitive credentials are then delivered within documents accessed by lower-privileged staff, creating a credential exfiltration risk that bypasses standard access controls. Affected organizations must immediately audit and restrict template management capabilities to prevent unauthorized credential access.
Until Kimai is upgraded to version 2.56.0 or later: (1) Immediately restrict template upload permissions to system administrators only; (2) Audit all custom invoice and export templates for config() function calls or environment variable references; (3) Disable template customization features if not operationally required; (4) Rotate all credentials referenced in system configuration files (LDAP bind passwords, SAML keys, secrets); (5) Monitor template-generated exports for suspicious access patterns by non-administrative users.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Account takeover in Kimai time-tracking software (versions <= 2.57.0) stems from the official Docker image shipping a pu
kimai2 is vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Rated crit
Kimai is a web-based multi-user time-tracking application. Rated high severity (CVSS 7.2), this vulnerability is remotel
Kimai versions prior to 2.46.0 contain an overly permissive Twig sandbox configuration in the export functionality that
Kimai versions prior to 2.51.0 lack proper customer-level access controls in the invoice API endpoint, allowing any user
Kimai is a web-based multi-user time-tracking application. Rated medium severity (CVSS 6.5), this vulnerability is remot
kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot
kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot
Authorization bypass in the Kimai open-source time-tracking application before 2.56.0 lets any authenticated user holdin
Kimai 2 contains a persistent cross-site scripting vulnerability that allows attackers to inject malicious scripts into
Password reset links in Kimai before 2.58.0 function as persistent authentication credentials because the LoginLink HMAC
Authorization bypass in Kimai's QuickEntry controller allows authenticated network users holding view_other_timesheet an
EUVD-2026-66220
GHSA-w754-75mx-556q
NVD
CVE.org
EPSS
Exploit-DB