CVE-2020-36211
Description
In the gfwx crate before 0.3.0, missing bounds on Send/Sync for ImageChunkMut allows data races and memory corruption from safe Rust code.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In the gfwx crate before 0.3.0, missing bounds on Send/Sync for ImageChunkMut allows data races and memory corruption from safe Rust code.
Root
Cause
The vulnerability in the gfwx crate (versions before 0.3.0) stems from the ImageChunkMut type implementing Send and Sync traits without proper bounds on its generic parameter T [4]. Specifically, the unsafe implementations unsafe impl Send for ImageChunkMut<'_, T> {} and unsafe impl Sync for ImageChunkMut<'_, T> {} allow the type to be sent and shared across threads even when T is not Send or Sync [3]. This violates Rust's thread-safety guarantees and opens the door to data races.
Exploitation
An attacker can exploit this vulnerability by constructing a scenario where ImageChunkMut wraps a type like Cell that is Send but not Sync (or vice versa) and then using safe Rust concurrency primitives (e.g., crossbeam_utils::thread) to simultaneously access the same memory from multiple threads [4]. No unsafe code is needed from the exploiter; all operations can be performed in safe Rust, making the bug especially dangerous for library users who expect memory safety from the language [3]. The attack requires local access and low privileges, but exploitation complexity is high due to the need to trigger specific race conditions [3].
Impact
Successful exploitation leads to a data race, resulting in memory corruption [1]. This can manifest as reading or writing to freed memory, type confusion, or other undefined behavior [3]. The CVSS v3.1 score is 7.0 (High), with high impacts on confidentiality, integrity, and availability [3]. In practice, an attacker could potentially corrupt sensitive data or cause a denial of service.
Mitigation
The issue has been fixed in version 0.3.0 of the gfwx crate by adding T: Send and T: Sync bounds to the respective trait implementations [2][3]. Users are advised to update to at least 0.3.0. There is no known workaround for earlier versions, as the fix requires modifying the crate's source code [4].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
gfwxcrates.io | < 0.3.0 | 0.3.0 |
Affected products
2- Rust/gfwxdescription
Patches
1253727a54c4bremove 'benches' exclusion
1 file changed · +0 −1
Cargo.toml+0 −1 modified@@ -12,7 +12,6 @@ edition = "2018" exclude = [ ".*", - "benches/*", "examples/*", "ci/*", "reference_app/*",
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-xp6v-qx65-4pp7ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2020-36211ghsaADVISORY
- github.com/Devolutions/gfwx-rs/issues/7ghsaWEB
- rustsec.org/advisories/RUSTSEC-2020-0104.htmlghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.