Project

General

Profile

Actions

Feature #19347

closed

Add Dir.fchdir

Added by jeremyevans0 (Jeremy Evans) about 1 year ago. Updated about 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:111842]

Description

Recently, I was working on a program that passes file descriptors over UNIX sockets (using send_io/recv_io). For file/socket/device descriptors, this works fine using File#reopen. However, I found that while Ruby supports Dir#fileno to return a directory file descriptor, it cannot use that file descriptor when changing directories.

I worked around this in my program by writing the directory path over the UNIX socket, but this results in a TOCTOU vulnerability in certain cases. Passing the directory file descriptor would be simpler and avoid the vulnerability.

I've submitted a pull request to implement this method: https://github.com/ruby/ruby/pull/7135

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0