GitHub Advisoryadvisory · crates.io
GHSA-3w8g-xr3f-2mp8 Out of bounds write in nalgebra
CRITICAL
Official page ↗
- Aliases
- CVE-2021-38190
- Ecosystem
- crates.io
- Packages
- nalgebra
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-119, CWE-787
- Reviewed
- 2021-08-18
Affected packages
• crates.io nalgebra: >= 0.11.0, < 0.27.1 → fixed in 0.27.1
Description
The `Deserialize` implementation for `VecStorage` did not maintain the invariant that the number of elements must equal `nrows * ncols`. Deserialization of specially crafted inputs could allow memory access beyond allocation of the vector.
This flaw was introduced in v0.11.0 (`086e6e`) due to the addition of an automatically derived implementation of `Deserialize` for `MatrixVec`. `MatrixVec` was later renamed to `VecStorage` in v0.16.13 (`0f66403`) and continued to use the automatically derived implementation of `Deserialize`.
Related
Alias · CVE (1)
- CVE-2021-38190 An issue was discovered in the nalgebra crate before 0.27.1 for Rust. vulnerability
References
- https://nvd.nist.gov/vuln/detail/CVE-2021-38190 advisory
- https://github.com/dimforge/nalgebra/issues/883 web
- https://github.com/dimforge/nalgebra/pull/889 web
- https://github.com/dimforge/nalgebra/commit/a803271fcce75b7c151e92aa099dfa546db4adc5 web
- https://github.com/dimforge/nalgebra package
- https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md#0270 web
- https://rustsec.org/advisories/RUSTSEC-2021-0070.html web