<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Kimai - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/kimai/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 14 Jul 2026 00:35:22 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/kimai/feed.xml" rel="self" type="application/rss+xml"/><item><title>Kimai REST API Two-Factor Authentication Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-07-kimai-2fa-bypass/</link><pubDate>Tue, 14 Jul 2026 00:35:22 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-kimai-2fa-bypass/</guid><description>A critical vulnerability, CVE-2026-52827, in Kimai versions prior to 2.59.0 allows an attacker who has compromised a user's password to bypass Two-Factor Authentication (TOTP) for the REST API by intercepting and replaying the `KIMAI_SESSION` cookie obtained after password verification but before TOTP completion, granting full authenticated API access.</description><content:encoded><![CDATA[<p>A critical authentication bypass vulnerability, identified as CVE-2026-52827, affects Kimai versions prior to 2.59.0, allowing attackers to circumvent Two-Factor Authentication (TOTP) for the REST API. This flaw enables an attacker who has compromised a user's password to obtain a <code>KIMAI_SESSION</code> cookie during the initial login phase, even before the TOTP step is completed. By replaying this cookie against any <code>/api/*</code> endpoint, the attacker gains full authenticated API access as the legitimate user without ever needing to provide the second authentication factor. This vulnerability effectively nullifies 2FA protection for Kimai's API, exposing affected instances to unauthorized data access and manipulation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker obtains a user's password for a Kimai instance through various means (e.g., phishing, credential stuffing, or password reuse).</li>
<li>The attacker initiates a login attempt to the Kimai web UI (<code>/en/auth/login</code>) using the compromised credentials.</li>
<li>Kimai's authentication process validates the provided password and, before prompting for the Two-Factor Authentication (TOTP) code, issues a <code>KIMAI_SESSION</code> cookie.</li>
<li>The attacker intercepts this <code>KIMAI_SESSION</code> cookie from the HTTP response, prior to the TOTP verification step.</li>
<li>The attacker then crafts subsequent HTTP requests to any <code>/api/*</code> endpoint, including the intercepted <code>KIMAI_SESSION</code> cookie in the request headers.</li>
<li>Due to a logical flaw in Kimai's API firewall and <code>APIVoter</code> (specifically using <code>IS_AUTHENTICATED</code> instead of <code>IS_AUTHENTICATED_REMEMBERED</code> and not properly checking <code>TwoFactorTokenInterface</code> status), the API treats the session as fully authenticated.</li>
<li>This grants the attacker complete, unauthorized access to the Kimai REST API, allowing them to perform any actions permitted to the compromised user, effectively bypassing the intended 2FA protection.</li>
<li>The attacker can now exfiltrate sensitive data, manipulate time entries, or perform other malicious actions via the API.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability completely neutralizes the protection offered by Two-Factor Authentication for Kimai's REST API. If an attacker successfully compromises a user's password, they gain full authenticated API access, irrespective of whether 2FA is enabled for that account. This can lead to unauthorized access to sensitive user data, manipulation of time tracking entries, and other critical business functions managed via the API. The exploit requires only the compromised password and the <code>KIMAI_SESSION</code> cookie, making it a straightforward attack vector.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch Kimai installations immediately to version 2.59.0 or later to address CVE-2026-52827, which includes updated API firewall logic.</li>
<li>Verify that the <code>config/packages/security.yaml</code> file in your Kimai instance correctly utilizes <code>IS_AUTHENTICATED_REMEMBERED</code> for API paths and that the <code>APIVoter</code> checks for <code>TwoFactorTokenInterface</code> and <code>IS_AUTHENTICATED_2FA_IN_PROGRESS</code> status, as outlined in the solution section of the advisory.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kimai</category><category>api</category><category>2fa-bypass</category><category>vulnerability</category><category>web-application</category></item><item><title>Kimai Docker Image Default APP_SECRET Allows Account Takeover (CVE-2026-52824)</title><link>https://feed.craftedsignal.io/briefs/2026-07-kimai-docker-app-secret/</link><pubDate>Tue, 14 Jul 2026 00:08:54 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-kimai-docker-app-secret/</guid><description>A critical vulnerability, CVE-2026-52824, in the official Kimai Docker image allows unauthenticated attackers to forge authentication tokens and achieve account takeover, including super_admin accounts, due to the image shipping with a default, publicly known APP_SECRET environment variable used by Symfony to HMAC-sign session cookies and login links.</description><content:encoded><![CDATA[<p>A critical vulnerability (CVE-2026-52824) affects the official Kimai Docker image, enabling unauthenticated attackers to achieve full account takeover. The root cause is the Docker image shipping with a hardcoded <code>APP_SECRET=change_this_to_something_unique</code> environment variable, which is a known secret. This <code>APP_SECRET</code> is used by the underlying Symfony framework to HMAC-sign sensitive data such as the <code>KIMAI_REMEMBER</code> cookie, login links, and password reset URLs. If a Kimai instance is deployed via Docker without explicitly overriding this default <code>APP_SECRET</code>, an attacker can leverage this known value to forge valid authentication tokens. This allows them to bypass authentication and log in as any user, including <code>super_admin</code>, provided the attacker knows the username, can guess the sequential user ID, and the target account does not have 2FA enabled. The vulnerability affects Kimai versions up to and including 2.57.0.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Reconnaissance</strong>: An unauthenticated attacker identifies an internet-exposed Kimai instance.</li>
<li><strong>Vulnerability Identification</strong>: The attacker determines that the Kimai instance is running the official Docker image with the default, known <code>APP_SECRET</code>.</li>
<li><strong>Target Identification</strong>: The attacker identifies a target username (e.g., <code>super_admin</code>) and guesses the corresponding sequential user ID (often 1 for the initial admin account).</li>
<li><strong>Token Forgery</strong>: Using the publicly known default <code>APP_SECRET</code> (<code>change_this_to_something_unique</code>), the attacker crafts a valid HMAC-signed <code>KIMAI_REMEMBER</code> cookie or a login link URL for the target user ID.</li>
<li><strong>Authentication Bypass</strong>: The attacker sends the forged cookie in an HTTP request to the Kimai instance or navigates directly to the forged login link.</li>
<li><strong>Account Takeover</strong>: The vulnerable Kimai instance validates the forged cookie or login link using the default <code>APP_SECRET</code> and grants the attacker authenticated access to the target user's account without requiring valid credentials.</li>
<li><strong>Post-Exploitation</strong>: The attacker gains full control over the compromised user's account, potentially performing further actions like privilege escalation, data exfiltration, or establishing additional persistence.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Any Kimai instance deployed via its official Docker image without overriding the default <code>APP_SECRET</code> is critically vulnerable to unauthenticated account takeover. An attacker can compromise <code>super_admin</code> accounts, leading to full control over the Kimai application, its data, and potentially integrated systems. This can result in unauthorized access to sensitive project and user data, manipulation of timesheets, or disruption of business operations. The attacker only needs to know a username, guess a sequential user ID, and the account must not have active two-factor authentication. This vulnerability affects a broad range of organizations using Kimai for time tracking and project management.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Patch CVE-2026-52824</strong>: Immediately update all Kimai instances to a patched version (newer than 2.57.0), which includes updates to <code>entrypoint.sh</code> to generate a random <code>APP_SECRET</code> and removes the default from the Dockerfile.</li>
<li><strong>Configure APP_SECRET</strong>: For all Kimai Docker deployments, explicitly set a unique and strong <code>APP_SECRET</code> environment variable using Docker secrets or Kubernetes secrets management. Do not rely on the default value.</li>
<li><strong>Review Documentation</strong>: Refer to the updated Kimai security documentation (linked in references) for best practices regarding <code>APP_SECRET</code> configuration.</li>
<li><strong>Enable Multi-Factor Authentication</strong>: For critical accounts, enable 2FA where available to add an additional layer of security, as the attack is mitigated if 2FA is active.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>vulnerability</category><category>web-application</category><category>misconfiguration</category><category>account-takeover</category><category>docker</category></item></channel></rss>