fix(deps): update rust crate tokio to v1.18.5 [security] #80
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.16.1
->1.18.5
GitHub Vulnerability Alerts
CVE-2023-22466
Impact
When configuring a Windows named pipe server, setting
pipe_mode
will resetreject_remote_clients
tofalse
. If the application has previously configuredreject_remote_clients
totrue
, this effectively undoes the configuration. This also applies ifreject_remote_clients
is not explicitly set as this is the default configuration and is cleared by callingpipe_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:
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 aServerOptions
. For example:References
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea#pipe_reject_remote_clients
GHSA-4q83-7cq4-p6wg
tokio::io::ReadHalf<T>::unsplit
can violate thePin
contractThe soundness issue is described in the tokio/issues#5372
Specific set of conditions needed to trigger an issue (a !Unpin type in ReadHalf)
is unusual, combined with the difficulty of making any arbitrary use-after-free
exploitable in Rust without doing a lot of careful alignment of data types in
the surrounding code.
The
tokio
featureio-util
is also required to be enabled to trigger thissoundness issue.
Thanks to zachs18 reporting the issue to Tokio team responsibly and taiki-e
and carllerche appropriately responding and fixing the soundness bug.
Tokio before 0.2.0 used
futures
0.1 that did not havePin
, so it is notaffected by this issue.
Release Notes
tokio-rs/tokio (tokio)
v1.18.5
Compare Source
v1.18.4
Compare Source
v1.18.3
: Tokio v1.18.3Compare Source
1.18.3 (September 27, 2022)
This release removes the dependency on the
once_cell
crate to restore the MSRV of the 1.18.x LTS release. (#5048)v1.18.2
: Tokio v1.18.2Compare Source
1.18.2 (May 5, 2022)
Add missing features for the
winapi
dependency. (#4663)v1.18.1
: Tokio v1.18.1Compare Source
1.18.1 (May 2, 2022)
The 1.18.0 release broke the build for targets without 64-bit atomics when building with
tokio_unstable
. This release fixes that. (#4649)v1.18.0
: Tokio v1.18.0Compare Source
1.18.0 (April 27, 2022)
This release adds a number of new APIs in
tokio::net
,tokio::signal
, andtokio::sync
. In addition, it adds new unstable APIs totokio::task
(Id
sfor uniquely identifying a task, and
AbortHandle
for remotely cancelling atask), as well as a number of bugfixes.
Fixed
#[track_caller]
forspawn_blocking
(#4616)select
macro to process 64 branches (#4519)try_io
methods not calling Mio'stry_io
internally (#4582)Added
UdpSocket::peer_addr
(#4611)try_read_buf
method for named pipes (#4626)SignalKind
Hash
/Eq
impls andc_int
conversion (#4540)SIGRTMAX
(#4555)watch::Sender::send_modify
method (#4310)broadcast::Receiver::len
method (#4542)watch::Receiver::same_channel
method (#4581)Clone
forRecvError
types (#4560)Changed
mio
to 0.8.1 (#4582)tokio::select!
's internalutil
module (#4543)Vec::with_capacity
when building runtime (#4553)Documented
tokio_unstable
(#4524)Handle::current
's docs to mentionEnterGuard
(#4567)Signal::recv
is cancel-safe (#4634)UnboundedReceiver
close docs (#4548)Unstable
The following changes only apply when building with
--cfg tokio_unstable
:task::Id
type (#4630)AbortHandle
type for cancelling tasks in aJoinSet
(#4530],[#4640)
doc(cfg(...))
attributes forJoinSet
(#4531)AbortHandle
RustDoc (#4545)v1.17.0
: Tokio v1.17.0Compare Source
1.17.0 (February 15, 2022)
This release updates the minimum supported Rust version (MSRV) to 1.49,
the
mio
dependency to v0.8, and the (optional)parking_lot
dependency to v0.12. Additionally, it contains several bug fixes, as
well as internal refactoring and performance improvements.
Fixed
sleep
with large durations (#4495)Instant
arithmetic on platformswhere
Instant::now
is not monotonic (#4461)DuplexStream
not participating in cooperative yielding(#4478)
JoinHandle
(#4430)Changed
parking_lot
dependency to v0.12.0 (#4459)mio
dependency to v0.8 (#4449)(#4480)
std::future::Ready
instead of our ownReady
future(#4271)
atomic::spin_loop_hint
withhint::spin_loop
(#4491)
Documented
tokio::process::ChildStdin
(#4479)Unstable
The following changes only apply when building with
--cfg tokio_unstable
:tracing
spans generated byspawn_local
(#4483)JoinSet
for managing sets of tasks (#4335)Configuration
📅 Schedule: Branch creation - "" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.