Hi,
Kinda new here. I’ve been trying to configure kanboard for 4 days, and I’ve reached the conclussion that version 1.2.47 is bugged on windows uploads/removes.
I’ve tested the path check on windows, unassembling the FileModel.php, on line:
$this->objectStorage->moveUploadedFile($file[‘tmp_name’], $destination_filename);
Manually bypassing parameters result on code working (sometimes, not sure why)
I’ve tried to open a bug in the git, but the access is limited and i’ve lost my old github account.
EVIDENCE:
[Wed Aug 20 08:57:18.913773 2025] [php:notice] [pid 1600:tid 1128] [client 127.0.0.1:51315] [error] File is not in base directory: /C:\Apache24\htdocs\kanboard/C:/Apache24/htdocs/kanboard/data/files/tasks/1/02be7446fb459cdb8d37b8b3b11d7566a7a3ffcc
CONFIG:
define(‘TMP_DIR’, DIR.DIRECTORY_SEPARATOR.‘data’.DIRECTORY_SEPARATOR.‘tmp’);
MANUAL TEST ON PERMISSIONS:
<?php $targetDir = __DIR__ . '/kanboard/data/files/'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (move_uploaded_file($_FILES['file']['tmp_name'], $targetDir.'test_upload.txt')) { echo 'Success!!'; } else { echo 'ERROR!!'; } } else { <?php }?>This test works, all windows permissions given.
Same configuration goes well for 1.2.46. Once I installed version 1.2.46, the problem is solved.
Also, changelog:
- fix: sanitize and validate uploaded files path
This may require a hotfix, because it disables completely all the configuration related to files.
I’ve tried upload, removal, and avatars. All they fail with 47 and work with the same configuration on 46.
Can you please take a look?
Cheers.