Giter Club home page Giter Club logo

connect-your-books's Introduction

A Software Engineer

C Rust Python PHP
Sqlite MySQL PostqreSQL Redis Linux Docker
Git Gitea Github-Actions

๐Ÿ“Š GitHub Stats

User Metrics Most Used Languages

connect-your-books's People

Contributors

mahdibaghbani avatar

Watchers

 avatar  avatar

connect-your-books's Issues

RUSTSEC-2024-0020: Stack buffer overflow with whoami on several Unix platforms

Details
Package whoami
Version 1.4.1
URL ardaku/whoami#91
Patched Versions >=1.5.0
Unaffected Versions <0.5.3

With versions of the whoami crate >= 0.5.3 and < 1.5.0, calling any of these functions leads to an
immediate stack buffer overflow on illumos and Solaris:

  • whoami::username
  • whoami::realname
  • whoami::username_os
  • whoami::realname_os

With versions of the whoami crate >= 0.5.3 and < 1.0.1, calling any of the above functions also
leads to a stack buffer overflow on these platforms:

  • Bitrig
  • DragonFlyBSD
  • FreeBSD
  • NetBSD
  • OpenBSD

This occurs because of an incorrect definition of the passwd struct on those platforms.

As a result of this issue, denial of service and data corruption have both been observed in the
wild. The issue is possibly exploitable as well.

This vulnerability also affects other Unix platforms that aren't Linux or macOS.

This issue has been addressed in whoami 1.5.0.

For more information, see this GitHub issue.

RUSTSEC-2024-0019: Tokens for named pipes may be delivered after deregistration

Details
Package mio
Version 0.8.10
URL GHSA-r8w9-5wcg-vfj7
Patched Versions >=0.8.11
Unaffected Versions <0.7.2
Aliases CVE-2024-27308, GHSA-r8w9-5wcg-vfj7

Impact

When using named pipes on Windows, mio will under some circumstances return invalid tokens that correspond to named pipes that have already been deregistered from the mio registry. The impact of this vulnerability depends on how mio is used. For some applications, invalid tokens may be ignored or cause a warning or a crash. On the other hand, for applications that store pointers in the tokens, this vulnerability may result in a use-after-free.

For users of Tokio, this vulnerability is serious and can result in a use-after-free in Tokio.

The vulnerability is Windows-specific, and can only happen if you are using named pipes. Other IO resources are not affected.

Affected versions

This vulnerability has been fixed in mio v0.8.11.

All versions of mio between v0.7.2 and v0.8.10 are vulnerable.

Tokio is vulnerable when you are using a vulnerable version of mio AND you are using at least Tokio v1.30.0. Versions of Tokio prior to v1.30.0 will ignore invalid tokens, so they are not vulnerable.

Workarounds

Vulnerable libraries that use mio can work around this issue by detecting and ignoring invalid tokens.

Technical details

When an IO resource registered with mio has a readiness event, mio delivers that readiness event to the user using a user-specified token. Mio guarantees that when an IO resource is deregistered, then it will never return the token for that IO resource again. However, for named pipes on windows, mio may sometimes deliver the token for a named pipe even though the named pipe has been previously deregistered.

This vulnerability was originally reported in the Tokio issue tracker: tokio-rs/tokio#6369
This vulnerability was fixed in: tokio-rs/mio#1760

Thank you to @rofoun and @radekvit for discovering and reporting this issue.

RUSTSEC-2023-0071: Marvin Attack: potential key recovery through timing sidechannels

Details
Package rsa
Version 0.9.6
URL RustCrypto/RSA#19 (comment)
Patched Versions n/a
Aliases CVE-2023-49092, GHSA-c38w-74pg-36hr

Impact

Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.

Patches

No patch is yet available, however work is underway to migrate to a fully constant-time implementation.

Workarounds

The only currently available workaround is to avoid using the rsa crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer is fine.

References

This vulnerability was discovered as part of the "Marvin Attack", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.

RUSTSEC-2024-0003: Resource exhaustion vulnerability in h2 may lead to Denial of Service (DoS)

Details
Package h2
Version 0.4.0
URL n/a
Patched Versions ^0.3.24 OR >=0.4.2
Aliases GHSA-8r5v-vm4m-4g25
Related Advisories CVE-2019-9514

An attacker with an HTTP/2 connection to an affected endpoint can send a steady stream of invalid frames to force the
generation of reset frames on the victim endpoint.
By closing their recv window, the attacker could then force these resets to be queued in an unbounded fashion,
resulting in Out Of Memory (OOM) and high CPU usage.

This fix is corrected in hyperium/h2#737, which limits the total number of
internal error resets emitted by default before the connection is closed.

RUSTSEC-2023-0074: Some Ref methods are unsound with some type parameters

Details
Package zerocopy
Version 0.7.30
URL google/zerocopy#716
Patched Versions >=0.2.9, <0.3.0 OR >=0.3.2, <0.4.0 OR >=0.4.1, <0.5.0 OR >=0.5.2, <0.6.0 OR >=0.6.6, <0.7.0 OR >=0.7.31
Unaffected Versions <0.2.2
Aliases GHSA-3mv5-343c-w2qg, GHSA-rjhf-4mh8-9xjq

The Ref methods into_ref, into_mut, into_slice, and into_slice_mut are unsound
and may allow safe code to exhibit undefined behavior when used with Ref<B, T> where B
is cell::Ref or
cell::RefMut. Note that these
methods remain sound when used with B types other than cell::Ref or cell::RefMut.

See google/zerocopy#716 for a more in-depth analysis.

The current plan is to yank the affected versions soon. See
google/zerocopy#679 for more detail.

RUSTSEC-2024-0332: Degradation of service in h2 servers with CONTINUATION Flood

Details
Package h2
Version 0.3.22
URL n/a
Patched Versions ^0.3.26 OR >=0.4.4

An attacker can send a flood of CONTINUATION frames, causing h2 to process them indefinitely.
This results in an increase in CPU usage.

Tokio task budget helps prevent this from a complete denial-of-service, as the server can still
respond to legitimate requests, albeit with increased latency.

More details at "https://seanmonstar.com/blog/hyper-http2-continuation-flood/.

Patches available for 0.4.x and 0.3.x versions.

RUSTSEC-2024-0332: Degradation of service in h2 servers with CONTINUATION Flood

Details
Package h2
Version 0.3.22
URL n/a
Patched Versions ^0.3.26 OR >=0.4.4

An attacker can send a flood of CONTINUATION frames, causing h2 to process them indefinitely.
This results in an increase in CPU usage.

Tokio task budget helps prevent this from a complete denial-of-service, as the server can still
respond to legitimate requests, albeit with increased latency.

More details at "https://seanmonstar.com/blog/hyper-http2-continuation-flood/.

Patches available for 0.4.x and 0.3.x versions.

RUSTSEC-2024-0003: Resource exhaustion vulnerability in h2 may lead to Denial of Service (DoS)

Details
Package h2
Version 0.3.22
URL n/a
Patched Versions ^0.3.24 OR >=0.4.2
Related Advisories CVE-2019-9514

An attacker with an HTTP/2 connection to an affected endpoint can send a steady stream of invalid frames to force the
generation of reset frames on the victim endpoint.
By closing their recv window, the attacker could then force these resets to be queued in an unbounded fashion,
resulting in Out Of Memory (OOM) and high CPU usage.

This fix is corrected in hyperium/h2#737, which limits the total number of
internal error resets emitted by default before the connection is closed.

RUSTSEC-2023-0075: Unaligned write of u64 on 32-bit and 16-bit platforms

Details
Package unsafe-libyaml
Version 0.2.9
Warning unsound
URL dtolnay/unsafe-libyaml#21
Patched Versions >=0.2.10
Aliases GHSA-r24f-hg58-vfrw

Affected versions allocate memory using the alignment of usize and write data
to it of type u64, without using core::ptr::write_unaligned. In platforms
with sub-64bit alignment for usize (including wasm32 and x86) these writes
are insufficiently aligned some of the time.

If using an ordinary optimized standard library, the bug exhibits Undefined
Behavior so may or may not behave in any sensible way, depending on
optimization settings and hardware and other things. If using a Rust standard
library built with debug assertions enabled, the bug manifests deterministically
in a crash (non-unwinding panic) saying "ptr::write requires that the pointer
argument is aligned and non-null"
.

No 64-bit platform is impacted by the bug.

The flaw was corrected by allocating with adequately high alignment on all
platforms.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.