CVE-2026-24885
Analyzed Analyzed - Analysis Complete
CSRF Vulnerability in Kanboard ProjectPermissionController Allows Role Modification

Publication date: 2026-02-10

Last updated on: 2026-02-13

Assigner: GitHub, Inc.

Description
Kanboard is project management software focused on Kanban methodology. Prior to 1.2.50, a Cross-Site Request Forgery (CSRF) vulnerability exists in the ProjectPermissionController within the Kanboard application. The application fails to strictly enforce the application/json Content-Type for the changeUserRole action. Although the request body is JSON, the server accepts text/plain, allowing an attacker to craft a malicious form using the text/plain attribute. Which allows unauthorized modification of project user roles if an authenticated admin visits a malicious site This vulnerability is fixed in 1.2.50.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-10
Last Modified
2026-02-13
Generated
2026-05-07
AI Q&A
2026-02-10
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
kanboard kanboard to 1.2.50 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-352 The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': "CVE-2026-24885 is a Cross-Site Request Forgery (CSRF) vulnerability in the Kanboard project management software, specifically in the ProjectPermissionController's changeUserRole action."}, {'type': 'paragraph', 'content': 'The vulnerability exists because the server does not strictly enforce the application/json Content-Type header for requests that modify user roles. Instead, it also accepts requests with the text/plain Content-Type, which allows attackers to craft malicious forms that bypass typical CSRF protections.'}, {'type': 'paragraph', 'content': 'An attacker can exploit this by tricking an authenticated admin into visiting a malicious webpage containing a specially crafted form that submits a POST request with text/plain encoding to change project user roles without the admin’s consent.'}, {'type': 'paragraph', 'content': 'This results in unauthorized modification of project user roles, effectively allowing privilege escalation within the application.'}] [1]


How can this vulnerability impact me? :

This vulnerability allows an attacker to escalate privileges within the Kanboard application by modifying project user roles without authorization.

Specifically, if an authenticated admin visits a malicious site, the attacker can change user roles from lower privileges (e.g., project-viewer) to higher privileges (e.g., project-manager).

The impact affects the integrity of the application by enabling unauthorized role changes, but it does not affect confidentiality or availability.

The attack requires low complexity and some user interaction (the admin visiting a malicious webpage), and it is network-based.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': 'This vulnerability can be detected by monitoring for POST requests to the changeUserRole endpoint that use the Content-Type header set to text/plain instead of application/json. Such requests indicate attempts to exploit the CSRF vulnerability by submitting unauthorized role changes.'}, {'type': 'paragraph', 'content': 'You can use network traffic inspection tools like tcpdump or Wireshark to filter HTTP POST requests with the text/plain Content-Type targeting the Kanboard application.'}, {'type': 'list_item', 'content': "Example tcpdump command to capture such requests: tcpdump -i any -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep -i 'POST /changeUserRole' -A 10"}, {'type': 'list_item', 'content': 'Use curl or similar tools to test if the server accepts text/plain Content-Type for role changes by sending a crafted POST request with text/plain header to the changeUserRole endpoint.'}, {'type': 'paragraph', 'content': 'Additionally, reviewing server logs for POST requests to the changeUserRole endpoint with Content-Type other than application/json can help detect exploitation attempts.'}] [1]


What immediate steps should I take to mitigate this vulnerability?

The immediate and most effective mitigation is to upgrade Kanboard to version 1.2.50 or later, where this vulnerability is fixed.

The fix includes enforcing strict CSRF protection on project role modification endpoints and requiring that requests use the application/json Content-Type header.

  • Apply the official patch or update that adds CSRF token validation to the changeUserRole and changeGroupRole actions.
  • Ensure that the server rejects any requests to role modification endpoints that are not AJAX requests or do not have the correct JSON content type.

Until the update is applied, restrict access to the Kanboard application to trusted networks and educate administrators to avoid visiting untrusted or suspicious websites while authenticated.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart