The API of xcb::Connection has constructors which allow an arbitrary RawFd to be used as a socket connection. On either failure of these constructors or on the drop of Connection, it closes the associated file descriptor. Thus, a program which uses an OwnedFd (such as a UnixStream) as the file descriptor can close the file descriptor and continue to attempt using it or close an already-closed file descriptor, violating I/O safety.
Starting in version 1.6.0, xcb provides Connection::connect_with_fd and Connection::connect_with_fd_and_extensions as safe alternatives and deprecates the problematic functions.
{
"cwe_ids": [
"CWE-666",
"CWE-672"
],
"github_reviewed": true,
"github_reviewed_at": "2025-08-22T17:34:45Z",
"nvd_published_at": null,
"severity": "LOW"
}