httpd: Pitfalls with using case-sensitive and case-insensitive file systems

"Basu, Aditya" <[email protected]>
Newsgroups gmane.comp.apache.documentation
Message-ID <MWHPR0201MB3516876DCB950781B1FA44A5FD519@MWHPR0201MB3516.namprd02.prod.outlook.com>
Problem: Moving the contents of www/ from case-sensitive to a case-insensitive system can result in bad permissions (on directories) and/or adding .htconfig / .htaccess to the wrong directory. Please note that the following is *not* a vulnerability in httpd itself but stems from the use of standard utilities on modern Linux systems.

Description:
On a case-sensitive system, we *tar* the contents of www/ using “tar -cf www.tar /var/www”.

Then in a case-insensitive directory (e.g. ext4 with per-directory case-insensitive support[1]) we expand the tarball using: “tar -xf www.tar -C /mnt/icase”.

Scenario 1: Bad Perms on directory
=========

At Source (/var/www):
www/
    hidden/ (perm=700)
        secret.txt
    HIDDEN/ (perm=755)

After moving to /mnt/icase:
www/
    hidden/ (perm=755)
        secret.txt


Scenario 2: Merging directory contents
=========

At Source (/var/www):
www/
    protected/ (group=www-data,perm=750)
        .htaccess
        user-file.txt
    PROTECTED/ (perm=755)
        .htaccess (empty)

After moving to /mnt/icase:
www/
    protected/ (group=www-data,perm=755)
        .htaccess (empty)
        user-file.txt (now accessible over http)


The above two scenarios can also occur when transferring files using rsync.
Mentioning this in the documentation will be helpful for the community.

Tested on: Ubuntu 20.04.4 LTS, GNU tar v1.30 (amd64)

Please let me know if there are any questions.
Refer:
[1] https://www.collabora.com/news-and-blog/blog/2020/08/27/using-the-linux-kernel-case-insensitive-feature-in-ext4/

Aditya Basu
PhD Student
The Pennsylvania State University
https://www.adityabasu.me/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.