Insufficient session invalidation in Kanboard
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-613.
Summary
Kanboard is project management software that focuses on the Kanban methodology. In affected versions sessions are still usable even though their lifetime has exceeded. Kanboard implements a cutom session handler (`app/Core/Session/SessionHandler.php`), to store the session data in a database. Therefore, when a `session_id` is given, kanboard queries the data from the `sessions` sql table. At this point, it does not correctly verify, if a given `session_id` has already exceeded its lifetime (`expires_at`). Thus, a session which's lifetime is already `> time()`, is still queried from the database and hence a valid login. The implemented **SessionHandlerInterface::gc** function, that does remove invalid sessions, is called only **with a certain probability** (_Cleans up expired sessions. Called by `session_start()`, based on `session.gc_divisor`, `session.gc_probability` and `session.gc_maxlifetime` settings_) accordingly to the php documentation. In the official Kanboard docker image these values default to: session.gc_probability=1, session.gc_divisor=1000. Thus, an expired session is only terminated with probability 1/1000. This issue has been addressed in release 1.2.43 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA kanboard (kanboard) Fixed in 1.2.43
Timeline
- 2026-10-02 Threatist record created from CVE-2024-55603
References
Other 6
- https://github.com/kanboard/kanboard/blob/main/app/Core/Session/SessionHandler.php#L40
- https://www.php.net/manual/en/function.session-start.php
- https://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor
- https://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
- https://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
- https://www.php.net/manual/en/sessionhandlerinterface.gc.php
More Kanboard vulnerabilities
- TI-2026-17582 Kanboard is Vulnerable to Reverse Proxy Authentication Bypass CVSS 3.1CRITICAL 9.1
- TI-2025-34713 Kanboard Authenticated Admin Remote Code Execution via Unsafe Deserialization of Events CVSS 3.1CRITICAL 9.1
- TI-2024-34653 Remote code execution through language setting in kanboard CVSS 3.1CRITICAL 9.1
- TI-2024-34652 Arbitrary File Read and Delete in kanboard CVSS 3.1CRITICAL 9.1
- TI-2025-32655 Kanboard Password Reset Poisoning via Host Header Injection CVSS 3.1HIGH 8.8
- TI-2026-20954 Kanboard is Missing Access Control on Plugin Installation leading to Administrative RCE CVSS 3.1HIGH 8.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences