Description
Kanboard through 1.2.52, fixed in commit 564cc30, BoardAjaxController save() method (used by the kanban board drag-and-drop endpoint) validates the caller's role on the attacker-supplied project_id but never verifies that the supplied task_id actually belongs to that project. Because task identifiers are sequential integers shared across the entire instance, any authenticated user who is a member of at least one project can enumerate and move (corrupt/hide) tasks belonging to any other project on the same instance, including private projects they have no membership or role on.
Published: 2026-07-15
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in the BoardAjaxController save() method, which during a drag-and-drop operation validates the caller’s role for the supplied project_id but neglects to confirm that the provided task_id actually resides in that project. As task identifiers are sequential integers shared across the entire Kanboard instance, an attacker can fabricate a legitimate project_id and any valid task_id to move, hide, or otherwise corrupt tasks that belong to projects in which the attacker has no membership or role. This allows a user who is part of at least one project to compromise the integrity and visibility of privately held work items in other projects. The weakness is a classic example of CWE‑639, where authorization is bypassed through a user‑controlled key.

Affected Systems

Kanboard applications up to and including version 1.2.52 are affected. The flaw manifests in the Kanboard Kanboard product via the BoardAjaxController drag-and-drop endpoint, and the fix is applied in commit 564cc30 of the GitHub repository. All Kanboard instances running a version without this commit are vulnerable regardless of the number of projects or users present.

Risk and Exploitability

With a CVSS score of 7.2 the vulnerability is considered high severity. The EPSS score is less than 1 %, indicating a low probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. An authenticated user who belongs to any project can target the system by sending a crafted request to the drag-and-drop endpoint, specifying a task_id from another project. Because no code execution or privilege escalation is required, the actual risk lies in unauthorized manipulation of task data rather than in system compromise.

Generated by OpenCVE AI on July 31, 2026 at 03:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Kanboard to the latest release that includes commit 564cc30 or later, which restores proper ownership checks in BoardAjaxController.
  • Configure Kanboard so that only users with administrative roles or explicit project ownership are allowed to perform drag‑and‑drop operations on tasks.
  • Audit existing project memberships and remove users who lack legitimate business need for access, thereby reducing the attack surface for this authorization bypass.

Generated by OpenCVE AI on July 31, 2026 at 03:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 15 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Description Kanboard through 1.2.52, fixed in commit 564cc30, BoardAjaxController save() method (used by the kanban board drag-and-drop endpoint) validates the caller's role on the attacker-supplied project_id but never verifies that the supplied task_id actually belongs to that project. Because task identifiers are sequential integers shared across the entire instance, any authenticated user who is a member of at least one project can enumerate and move (corrupt/hide) tasks belonging to any other project on the same instance, including private projects they have no membership or role on.
Title Kanboard BoardAjaxController Missing Ownership Check via Drag-and-Drop
First Time appeared Kanboard
Kanboard kanboard
Weaknesses CWE-639
CPEs cpe:2.3:a:kanboard:kanboard:*:*:*:*:*:*:*:*
Vendors & Products Kanboard
Kanboard kanboard
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H'}

cvssV4_0

{'score': 7.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Kanboard Kanboard
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-15T17:54:24.732Z

Reserved: 2026-07-01T21:54:37.946Z

Link: CVE-2026-58660

cve-icon Vulnrichment

Updated: 2026-07-15T17:54:19.443Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T03:30:18Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key