GitHub Advisoryadvisory · crates.io
GHSA-7rrj-xr53-82p7 Tokio reject_remote_clients configuration may get dropped when creating a Windows named pipe
MEDIUM
Official page ↗
- Aliases
- CVE-2023-22466
- Ecosystem
- crates.io
- Packages
- tokio
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
- Weaknesses
- CWE-665
- Reviewed
- 2023-01-06
Affected packages
• crates.io tokio: >= 1.7.0, < 1.18.4 → fixed in 1.18.4
• crates.io tokio: >= 1.19.0, < 1.20.3 → fixed in 1.20.3
• crates.io tokio: >= 1.21.0, < 1.23.1 → fixed in 1.23.1
Description
Impact
When configuring a Windows named pipe server, setting `pipe_mode` will reset `reject_remote_clients` to `false`. If the application has previously configured `reject_remote_clients` to `true`, this effectively undoes the configuration. This also applies if `reject_remote_clients` is not explicitly set as this is the default configuration and is cleared by calling `pipe_mode`.
Remote clients may only access the named pipe if the named pipe's associated path is accessible via a publically shared folder (SMB).
Patches
The following versions have been patched:
• 1.23.1
• 1.20.3
• 1.18.4
The fix will also be present in all releases starting from version 1.24.0.
Named pipes were introduced to Tokio in version 1.7.0, so releases older than 1.7.0 are not affected.
Workarounds
Ensure that `pipe_mode` is set first after initializing a `ServerOptions`. For example:
```rust
let mut opts = ServerOptions::new();
opts.pipe_mode(PipeMode::Message);
opts.reject_remote_clients(true);
```
References
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea#pipe_reject_remote_clients
Related
Alias · CVE (1)
- CVE-2023-22466 Tokio is a runtime for writing applications with Rust. vulnerability
Weakness · CWE (1)
- CWE-665 Improper Initialization weakness
References
- https://github.com/tokio-rs/tokio/security/advisories/GHSA-7rrj-xr53-82p7 web
- https://nvd.nist.gov/vuln/detail/CVE-2023-22466 advisory
- https://github.com/tokio-rs/tokio/pull/5336 web
- https://github.com/tokio-rs/tokio package
- https://github.com/tokio-rs/tokio/releases/tag/tokio-1.23.1 web
- https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea#pipe_reject_remote_clients web
- https://rustsec.org/advisories/RUSTSEC-2023-0001.html web