{"id":56029,"date":"2025-06-29T21:34:17","date_gmt":"2025-06-29T21:34:17","guid":{"rendered":""},"modified":"2025-09-28T09:11:30","modified_gmt":"2025-09-28T15:11:30","slug":"cve-2025-52560-critical-password-reset-vulnerability-in-kanboard-prior-to-1-2-46","status":"publish","type":"post","link":"https:\/\/www.ameeba.com\/blog\/cve-2025-52560-critical-password-reset-vulnerability-in-kanboard-prior-to-1-2-46\/","title":{"rendered":"<strong>CVE-2025-52560: Critical Password Reset Vulnerability in Kanboard Prior to 1.2.46<\/strong>"},"content":{"rendered":"<p><strong>Overview<\/strong><\/p>\n<p>In the vast realm of project management software, Kanboard has carved a niche for itself with its focus on the Kanban methodology. However, a critical vulnerability was discovered in versions prior to 1.2.46, which exposes users to potential system compromise or data leakage. This vulnerability, identified as CVE-2025-52560, allows attackers to craft malicious <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-49151-unauthenticated-attackers-can-forge-json-web-tokens-in-microsens-nmp-web\/\"  data-wpil-monitor-id=\"64548\">password reset<\/a> links that can leak the reset token to an attacker-controlled domain. This post is aimed at cybersecurity <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-39247-unauthenticated-admin-access-control-vulnerability-in-hikcentral-professional-versions\/\"  data-wpil-monitor-id=\"86128\">professionals who need to understand this vulnerability<\/a>, its potential impact, and the mitigation measures that can be taken against it.<\/p>\n<p><strong>Vulnerability Summary<\/strong><\/p>\n<p>CVE ID: CVE-2025-52560<br \/>\nSeverity: Critical (8.1 CVSS score)<br \/>\nAttack Vector: Network<br \/>\nPrivileges Required: None<br \/>\nUser Interaction: Required<br \/>\nImpact: <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-5866-critical-vulnerability-in-rt-thread-5-1-0-potentially-leading-to-system-compromise-or-data-leakage\/\"  data-wpil-monitor-id=\"63830\">System compromise or data<\/a> leakage<\/p>\n<p><strong>Affected Products<\/strong><\/p><div id=\"ameeb-1103386174\" class=\"ameeb-content-2 ameeb-entity-placement\"><div style=\"border-left: 4px solid #555; padding-left: 20px; margin: 48px 0; font-family: Roboto, sans-serif; color: #ffffff; line-height: 1.6; max-width: 700px;\">\r\n  <h2 style=\"margin-top: 0; font-size: 20px; font-weight: 600; display: flex; align-items: center;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"display: inline-flex; align-items: center; margin-right: 8px;\">\r\n      <img decoding=\"async\" src=\"https:\/\/www.ameeba.com\/blog\/wp-content\/uploads\/2025\/10\/Best-App-icon-Ameeba.png\" alt=\"Ameeba Chat Icon\" style=\"width: 40px; height: 40px;\" \/>\r\n    <\/a>\r\n    A new way to communicate\r\n  <\/h2>\r\n\r\n  <p style=\"margin-bottom: 12px;\">\r\n    Ameeba Chat is built on encrypted identity, not personal profiles.\r\n  <\/p>\r\n\r\n  <p style=\"margin-bottom: 16px;\">\r\n    Message, call, share files, and coordinate with identities kept separate.\r\n  <\/p>\r\n\r\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 20px;\">\r\n    <li>\u2022 Encrypted identity<\/li>\r\n    <li>\u2022 Ameeba Chat authenticates access<\/li>\r\n    <li>\u2022 Aliases and categories<\/li>\r\n    <li>\u2022 End-to-end encrypted chat, calls, and files<\/li>\r\n    <li>\u2022 Secure notes for sensitive information<\/li>\r\n  <\/ul>\r\n\r\n  <p style=\"font-style: italic; font-weight: 600; margin-bottom: 24px;\">\r\n    Private communication, rethought.\r\n  <\/p>\r\n\r\n  <div style=\"display: flex; flex-wrap: wrap; gap: 12px;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\/download\" style=\"background-color: #ffffff; color: #000000; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Download Ameeba Chat<\/a>\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"border: 1px solid #ffffff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Learn More<\/a>\r\n  <\/div>\r\n<\/div>\r\n<\/div>\n<p>Product | Affected Versions<\/p>\n<p><a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-55010-arbitrary-php-object-instantiation-in-kanboard-prior-to-version-1-2-47\/\"  data-wpil-monitor-id=\"77880\">Kanboard | Prior<\/a> to 1.2.46<\/p>\n<p><strong>How the Exploit Works<\/strong><\/p>\n<p>The <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2023-47032-critical-password-vulnerability-in-ncr-terminal-handler\/\"  data-wpil-monitor-id=\"63549\">vulnerability lies within the password<\/a> reset functionality of Kanboard. When the `application_url` configuration is unset (which is the default behavior), Kanboard allows <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-43933-high-risk-vulnerability-leading-to-potential-system-compromise-via-password-reset-feature\/\"  data-wpil-monitor-id=\"70810\">password reset<\/a> emails to be sent with URLs derived from the unvalidated Host header. This loophole allows an attacker to craft a malicious <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-43932-account-takeover-vulnerability-in-jobcenter-through-password-reset-feature\/\"  data-wpil-monitor-id=\"76120\">password reset<\/a> link that leaks the token to an attacker-controlled domain. If a victim, possibly an administrator, clicks the poisoned link, their account can be hijacked.<\/p>\n<p><strong>Conceptual Example Code<\/strong><\/p><div id=\"ameeb-4028166739\" class=\"ameeb-content ameeb-entity-placement\"><div class=\"poptin-embedded\" data-id=\"f6b387694f681\"><\/div>\r\n\r\n\r\n\r\n\r\n\r\n<\/div>\n<p>A conceptual example of how the vulnerability might be exploited is as follows:<\/p>\n<pre><code class=\"\" data-line=\"\">GET \/password_reset?token=[token]&amp;email=[victim&#039;s email] HTTP\/1.1\nHost: attacker-controlled-domain.com<\/code><\/pre>\n<p>In this request, the attacker substitutes the `[token]` and `[victim&#8217;s email]` with the actual token and victim&#8217;s email. This request would be contained within the malicious <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-50594-critical-password-reset-vulnerability-in-danphe-health-hospital-management-system-emr-3-2\/\"  data-wpil-monitor-id=\"80433\">password reset<\/a> link, and when a victim clicks it, the token would be sent to the attacker-controlled domain, allowing the attacker to reset the victim&#8217;s password.<\/p>\n<p><strong>Mitigation<\/strong><\/p>\n<p>The most effective way to mitigate this vulnerability is to apply the vendor patch by upgrading <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2015-0843-critical-buffer-overflow-vulnerability-in-yubiserver-before-version-0-6\/\"  data-wpil-monitor-id=\"65146\">Kanboard<\/a> to version 1.2.46 or later, where this issue has been patched. In the absence of an upgrade, implementing a Web Application Firewall (WAF) or Intrusion Detection System (IDS) may serve as temporary mitigation. It is also recommended to set the `application_url` configuration to prevent the usage of the Host header in <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-51543-admin-password-reset-vulnerability-in-cicool-builder-3-4-4\/\"  data-wpil-monitor-id=\"81765\">password reset<\/a> URLs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview In the vast realm of project management software, Kanboard has carved a niche for itself with its focus on the Kanban methodology. However, a critical vulnerability was discovered in versions prior to 1.2.46, which exposes users to potential system compromise or data leakage. This vulnerability, identified as CVE-2025-52560, allows attackers to craft malicious password [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1],"tags":[],"vendor":[],"product":[],"attack_vector":[],"asset_type":[],"severity":[],"exploit_status":[],"class_list":["post-56029","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/56029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/comments?post=56029"}],"version-history":[{"count":10,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/56029\/revisions"}],"predecessor-version":[{"id":78922,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/56029\/revisions\/78922"}],"wp:attachment":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/media?parent=56029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/categories?post=56029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/tags?post=56029"},{"taxonomy":"vendor","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/vendor?post=56029"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/product?post=56029"},{"taxonomy":"attack_vector","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/attack_vector?post=56029"},{"taxonomy":"asset_type","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/asset_type?post=56029"},{"taxonomy":"severity","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/severity?post=56029"},{"taxonomy":"exploit_status","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/exploit_status?post=56029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}