GitHub Advisoryadvisory · crates.io

GHSA-3w8g-xr3f-2mp8 Out of bounds write in nalgebra

CRITICAL Published 2021-08-25 Modified 2021-08-24 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

Weakness · CWE (2)

  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer weakness
  • CWE-787 Out-of-bounds Write weakness

References