GHSA-h7h7-6mx3-r89v
Fyrox has unsound usages of `Vec::from_raw_parts`
GHSA-h7h7-6mx3-r89v is a vulnerability with no CVSS score yet in fyrox-core, published December 19, 2024. No source lists public exploit code. Fixed in fyrox-core 0.36.
- Severity
- UnratedNo CVSS score yet
- Exploit chance
- UnscoredNo EPSS score yet
- Exploitation
- None knownNot on CISA’s or ENISA’s lists
- Fixed in
0.36fyrox-core +1 more
Description
The library provides a public safe API transmute_vec_as_bytes, which incorrectly assumes that any generic type T could have stable layout, causing to uninitialized memory exposure if the users pass any types with padding bytes as T and cast it to u8 pointer.
In the issue, we develop a PoC to show passing struct type to transmute_vec_as_bytes could lead to undefined behavior with Vec::from_raw_parts.
The developers provide a patch by changing trait of Copy to Pod, which can make sure T should be plain data. This was patched in the latest version of master branch, but still not on the latest release (0.28.1).
Affected packages
| Package | Affected | Fixed |
|---|---|---|
fyrox-corecrates.io | 0.28.1 up to 0.36 | 0.36 |
fyrox-corecrates.io | 0.0.0-0 up to 0.36.0 | 0.36.0 |
What each source reports
GitHub AdvisoriesNo score
Fyrox has unsound usages of `Vec::from_raw_parts`
The library provides a public safe API transmute_vec_as_bytes, which incorrectly assumes that any generic type T could have stable layout, causing to uninitialized memory exposure if the users pass any types with padding bytes as T and cast it to u8 pointer.
In the issue, we develop a PoC to show passing struct type to transmute_vec_as_bytes could lead to undefined behavior with Vec::from_raw_parts.
The developers provide a patch by changing trait of Copy to Pod, which can make sure T should be plain data. This was patched in the latest version of master branch, but still not on the latest release (0.28.1).
- Record
GHSA-h7h7-6mx3-r89v- Updated
- 2026-11-02
OSVNo score
Fyrox has unsound usages of `Vec::from_raw_parts`
The library provides a public safe API transmute_vec_as_bytes, which incorrectly assumes that any generic type T could have stable layout, causing to uninitialized memory exposure if the users pass any types with padding bytes as T and cast it to u8 pointer.
In the issue, we develop a PoC to show passing struct type to transmute_vec_as_bytes could lead to undefined behavior with Vec::from_raw_parts.
The developers provide a patch by changing trait of Copy to Pod, which can make sure T should be plain data. This was patched in the latest version of master branch, but still not on the latest release (0.28.1).
- Record
GHSA-h7h7-6mx3-r89v- Updated
- 2026-11-02
OSVRUSTSEC-2024-0435No score
Unsound usages of `Vec::from_raw_parts`
The library provides a public safe API transmute_vec_as_bytes, which incorrectly assumes that any generic type T could have stable layout, causing to uninitialized memory exposure if the users pass any types with padding bytes as T and cast it to u8 pointer.
In the issue, we develop a PoC to show passing struct type to transmute_vec_as_bytes could lead to undefined behavior with Vec::from_raw_parts.
The developers provide a patch by changing trait of Copy to Pod, which can make sure T should be plain data. This was patched in the latest version of master branch, but still not on the latest release (0.28.1).
- Record
RUSTSEC-2024-0435- Updated
- 2026-11-02
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.