|
A chroot() call is implemented in AtheOS, and its behavior is supposed to be POSIX conformant. Once chroot(<directory>) is issued by a process, <directory> should become the base directory ('/') with no way to go out of the jail. That feature is widely used to protect applications against unwanted directory traversals (ftp, http, etc.) . After a chroot() call on AtheOS, '/' indeed seems to become the base directory. '/path/to/file' is translated to '<directory>/path/to/file' . Unfortunately, relative paths aren't checked against the current chroot jail. Therefore, '../../../../path/to/file' will be translated to a file out of the chroot limits.
|