CVE-2018-25023
Use of Uninitialized Resource in smallvec
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
CVE-2018-25023- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-908
- Updated
- 2026-11-02
CVE List No score
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
CVE-2018-25023- Updated
- 2026-11-02
EUVDEUVD-2022-0458 No score
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
EUVD-2022-0458- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-55m5-whcv-c49c
7.5
Use of Uninitialized Resource in smallvec
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T. This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized). The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
- Record
GHSA-55m5-whcv-c49c- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-908
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-66p5-j55p-32r9 No score
smallvec creates uninitialized value of any type
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T.
This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized).
The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
- Record
GHSA-66p5-j55p-32r9- Weakness
- CWE-457
- Updated
- 2026-11-02
OSV
7.5
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
CVE-2018-25023- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2018-25023
7.5
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
DEBIAN-CVE-2018-25023- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-55m5-whcv-c49c
7.5
Use of Uninitialized Resource in smallvec
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T. This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized). The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
- Record
GHSA-55m5-whcv-c49c- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-908
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-25023
7.5
An issue was discovered in the smallvec crate before 0.6.13 for Rust. It can create an uninitialized value of any type, including a reference type.
- Record
UBUNTU-CVE-2018-25023- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-66p5-j55p-32r9 No score
smallvec creates uninitialized value of any type
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T.
This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized).
The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
- Record
GHSA-66p5-j55p-32r9- Weakness
- CWE-457
- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11720-1 No score
cargo-c-0.8.1~git0.cce1b08-2.1 on GA media
These are all security issues fixed in the cargo-c-0.8.1~git0.cce1b08-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11720-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11721-1 No score
librav1e0-0.5.1+0-2.1 on GA media
These are all security issues fixed in the librav1e0-0.5.1+0-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11721-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11729-1 No score
zram-generator-1.1.1~git5.8612dbb-1.1 on GA media
These are all security issues fixed in the zram-generator-1.1.1~git5.8612dbb-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11729-1- Updated
- 2026-11-02
OSVRUSTSEC-2018-0018 No score
smallvec creates uninitialized value of any type
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T.
This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized).
The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
- Record
RUSTSEC-2018-0018- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
smallveccrates.io |
before 0.6.13 | 0.6.13 |
rust-smallvecDebian:12 |
before 1.1.0-1 | 1.1.0-1 |
rust-smallvecDebian:13 |
before 1.1.0-1 | 1.1.0-1 |
rust-smallvecDebian:14 |
before 1.1.0-1 | 1.1.0-1 |
smallveccrates.io |
0.0.0-0 up to 0.6.13 | 0.6.13 |
rust-smallvecUbuntu:20.04:LTS |
All versions, plus listed versions 0.6.10-11.1.0-1 |
None known |
rust-smallvecUbuntu:22.04:LTS |
All versions, plus listed versions 1.4.2-21.7.0-1 |
None known |
rust-smallvecUbuntu:24.04:LTS |
All versions, plus listed versions 1.11.0-11.11.2-1 |
None known |
rust-smallvecUbuntu:25.10 |
All versions, plus listed versions 1.13.2-1 |
None known |
rust-smallvecUbuntu:26.10 |
All versions, plus listed versions 1.15.1-11.15.2-1 |
None known |
rust-smallvecUbuntu:26.04:LTS |
All versions, plus listed versions 1.13.2-11.15.1-1 |
None known |
cargo-copenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 0.8.1~git0.cce1b08-2.1 | 0.8.1~git0.cce1b08-2.1 |
zram-generatoropenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.1.1~git5.8612dbb-1.1 | 1.1.1~git5.8612dbb-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-25023 is a high vulnerability (CVSS 7.5) in Servo Smallvec, published September 25, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.42%, the 73rd percentile. Fixed in smallvec 0.6.13.
References
rustsec.org/advisories/RUSTSEC-2018-0018.html
raw.githubusercontent.com/rustsec/advisory-db/main/crates/smallvec/RUSTSEC-2018-0018.md
github.com/servo/rust-smallvec/commit/e64afc8c473d43e375ab42bd33db2d0d4ac4e41b
nvd.nist.gov/vuln/detail/CVE-2018-25023
github.com/servo/rust-smallvec/issues/126
github.com/servo/rust-smallvec/pull/162
Show 9 moreShow less
github.com/advisories/GHSA-55m5-whcv-c49c
github.com/advisories/GHSA-66p5-j55p-32r9
security-tracker.debian.org/tracker/CVE-2018-25023
github.com/servo/rust-smallvec
crates.io/crates/smallvec
ubuntu.com/security/CVE-2018-25023
cve.org/CVERecord?id=CVE-2018-25023
suse.com/security/cve/CVE-2018-25023
suse.com/security/cve/CVE-2021-45710