Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2024-51748

CVE-2024-51748: Kanboard RCE Vulnerability via SQLite Import

CVE-2024-51748 is a remote code execution vulnerability in Kanboard that allows authenticated admins to execute arbitrary PHP code through SQLite database imports. This article covers the technical details, affected versions, and mitigation steps.

Published:

CVE-2024-51748 Overview

CVE-2024-51748 is a path traversal vulnerability [CWE-22] in Kanboard, an open-source project management application built around the Kanban methodology. An authenticated administrator can achieve arbitrary PHP code execution by abusing the SQLite database import feature combined with a separate file-write primitive on the server. The application_language setting stored in the settings table controls which translation file the application loads. An attacker who imports a crafted sqlite.db can point this value at an attacker-controlled translations.php file using directory traversal. Kanboard maintainers addressed the flaw in version 1.2.42.

Critical Impact

Authenticated administrators can execute arbitrary PHP code on the underlying server, resulting in full application and host compromise.

Affected Products

  • Kanboard versions prior to 1.2.42
  • Self-hosted Kanboard deployments exposing the admin settings interface
  • Environments where an adjacent service (FTP, file upload endpoint) permits writing translations.php

Discovery Timeline

  • 2024-11-11 - CVE-2024-51748 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2024-51748

Vulnerability Analysis

Kanboard determines the user interface language by reading the application_language value from the settings table in its SQLite database. The application then loads a translations.php file from the path derived from this setting. Kanboard provides an administrative feature that imports an entire SQLite database file, which allows an attacker with admin credentials to rewrite arbitrary settings values.

The import routine does not validate or sanitize the application_language field against directory traversal sequences. When Kanboard concatenates this value into the translation file path, an attacker-supplied string containing ../ segments can escape the intended translations directory. The loader then executes any PHP present in the target file, converting a configuration write into full code execution under the web server user.

Root Cause

The root cause is missing input validation on values read from an untrusted SQLite database import. Kanboard trusts the application_language setting as a safe identifier rather than treating it as attacker-controllable input subject to path canonicalization.

Attack Vector

Exploitation requires two preconditions: authenticated administrator access to Kanboard, and the ability to place a file named translations.php somewhere on the server file system. The secondary write can originate from an anonymous FTP service, a co-hosted application with an upload feature, or any other primitive that lands attacker-controlled content on disk. The attacker then crafts a sqlite.db where application_language contains a traversal path leading to the planted translations.php. Importing the crafted database and triggering a page load causes Kanboard to include and execute the malicious PHP payload.

No verified proof-of-concept code has been published. Refer to the Kanboard GitHub Security Advisory for maintainer detail.

Detection Methods for CVE-2024-51748

Indicators of Compromise

  • Presence of unexpected translations.php files outside the Kanboard app/Locale/ directory tree
  • Recent use of the admin SQLite database import feature with an unfamiliar source file
  • application_language value in the settings table containing ../ or absolute path characters
  • PHP process spawning shell utilities (sh, bash, curl, wget) from the Kanboard web root

Detection Strategies

  • Audit Kanboard settings table entries and alert on any application_language value that is not a known ISO locale code
  • Monitor web server and application logs for POST requests to the database import endpoint followed by anomalous 200 responses
  • File integrity monitoring on the Kanboard installation directory and any adjacent writable paths for new translations.php files

Monitoring Recommendations

  • Enable authentication and administrative action logging in Kanboard and forward logs to a centralized SIEM
  • Alert on child processes of the PHP-FPM or Apache worker that are not part of normal Kanboard operation
  • Correlate FTP or upload service write events with subsequent Kanboard admin activity

How to Mitigate CVE-2024-51748

Immediate Actions Required

  • Upgrade Kanboard to version 1.2.42 or later on all instances
  • Rotate administrator credentials and review the admin user list for unauthorized accounts
  • Inspect the Kanboard installation and web-accessible directories for planted translations.php files and remove them
  • Review the application_language value in the settings table and reset it to a valid locale identifier

Patch Information

The Kanboard maintainers fixed CVE-2024-51748 in release 1.2.42. The vendor advisory is available at the Kanboard GitHub Security Advisory GHSA-jvff-x577-j95p. The maintainers state there are no known workarounds, so patching is required.

Workarounds

  • Restrict access to the Kanboard admin interface using network-level controls such as VPN or IP allow-listing until patching is complete
  • Disable or remove any co-located services (anonymous FTP, unauthenticated upload endpoints) that could deliver the required translations.php file
  • Enforce least privilege on the web server user so that the Kanboard process cannot read files outside its expected directory tree
bash
# Verify installed Kanboard version and upgrade
grep -R "const VERSION" /var/www/kanboard/app/constants.php
# Upgrade via official release archive
curl -L -o kanboard.zip https://github.com/kanboard/kanboard/archive/refs/tags/v1.2.42.zip

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.