Bug 57996

Summary: Symlinks erroneously not followed when target inode number >32 bits
Product: Apache httpd-2 Reporter: Sergio Gelato <Sergio.Gelato>
Component: CoreAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: NEW ---    
Severity: normal Keywords: PatchAvailable
Priority: P2    
Version: 2.4.10   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Attachments: Fix resolve_symlink() target inode number overflow failure

Description Sergio Gelato 2015-06-03 16:36:40 UTC
Created attachment 32790 [details]
Fix resolve_symlink() target inode number overflow failure

When running httpd on 32-bit x86, some (but not all) symbolic links are neither followed nor shown in the directory index. Attempts to follow them result in error AH00037 being logged. The configuration permits following symlinks if the owner matches.

On investigation, it appeared that the problematic symlinks are those where the link has an inode number that fits within 32 bits but the target does not.

I have developed a patch and successfully tested it on top of httpd 2.4.10 as packaged in Debian 8. Inspection of the head of the 2.4 branch in svn suggests that the bug is still present there.