Actions
Bug #103943
closedis_dir() check with trailing slash violates open_basedir restriction if node is a file
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
File Abstraction Layer (FAL)
Target version:
-
Start date:
2024-05-28
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
11
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
If a folder is tried to be created where currently a file is located, the following open_basedir warning is emitted:
PHP Warning: is_dir(): open_basedir restriction in effect. File(/srv/vhosts/…/site/mage/releases/…/public/fileadmin/…/) is not within the allowed path(s): (/srv/vhosts/…/site/:/usr/share/php/:/tmp/:/usr/bin/:/bin/:/usr/local/bin/:/usr/local/lib/) in /srv/vhosts/…/site/mage/releases/…/public/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 1920
This can be verified via:
<?php
file_put_contents('foobar', '');
ini_set('open_basedir', __DIR__);
// OK
var_dump(is_file(__DIR__ . '/foobar'));
// OK
var_dump(is_dir(__DIR__ . '/foobar'));
// Not OK, warning
var_dump(is_dir(__DIR__ . '/foobar/'));
Actions