CVE-2024-55603
published 2024-12-19CVE-2024-55603: Kanboard is project management software that focuses on the Kanban methodology. In affected versions sessions are still usable even though their lifetime has…
PriorityP336medium6.5CVSS 3.1
AVNACLPRNUINSUCLILAN
EPSS
0.50%
39.6th percentile
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.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | kanboard | < kanboard 1.2.44+ds-1 (forky) | kanboard 1.2.44+ds-1 (forky) |
| kanboard | kanboard | < 1.2.43 | 1.2.43 |
| kanboard | kanboard | >= 0 < 1.2.44+ds-1 | 1.2.44+ds-1 |
CVSS provenance
nvdv3.16.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
osv6.5MEDIUM
vendor_debian6.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Debian
CVE-2024-55603: kanboard - Kanboard is project management software that focuses on the Kanban methodology. ...
vendor_debian·2024·CVSS 6.5
CVE-2024-55603 [MEDIUM] CVE-2024-55603: kanboard - Kanboard is project management software that focuses on the Kanban methodology. ...
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. Call
OSV
CVE-2024-55603: Kanboard is project management software that focuses on the Kanban methodology
osv·2024-12-19·CVSS 6.5
CVE-2024-55603 [MEDIUM] CVE-2024-55603: Kanboard is project management software that focuses on the Kanban methodology
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. Call
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/kanboard/kanboard/blob/main/app/Core/Session/SessionHandler.php#L40https://github.com/kanboard/kanboard/commit/7ce61c34d962ca8b5dce776289ddf4b207be6e78https://github.com/kanboard/kanboard/security/advisories/GHSA-gv5c-8pxr-p484https://www.php.net/manual/en/function.session-start.phphttps://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisorhttps://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetimehttps://www.php.net/manual/en/session.configuration.php#ini.session.gc-probabilityhttps://www.php.net/manual/en/sessionhandlerinterface.gc.php
2024-12-19
Published