CVE-2021-38188
Incorrect buffer size calculation in iced-x86
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
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
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
- Record
CVE-2021-38188- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Updated
- 2026-11-02
CVE List No score
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
- Record
CVE-2021-38188- Updated
- 2026-11-02
EUVDEUVD-2021-1777 No score
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
- Record
EUVD-2021-1777- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-jjx5-3f36-6927
9.8
Incorrect buffer size calculation in iced-x86
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
- Record
GHSA-jjx5-3f36-6927- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-131
- Updated
- 2026-11-02
OSVGHSA-jjx5-3f36-6927
9.8
Incorrect buffer size calculation in iced-x86
An issue was discovered in the iced-x86 crate through 1.10.3 for Rust. In Decoder::new(), slice.get_unchecked(slice.length()) is used unsafely.
- Record
GHSA-jjx5-3f36-6927- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-131
- Updated
- 2026-11-02
OSVRUSTSEC-2021-0068 No score
Soundness issue in `iced-x86` versions <= 1.10.3
Versions of iced-x86 <= 1.10.3 invoke undefined behavior which may cause soundness
issues in crates using the iced_x86::Decoder struct. The Decoder::new() function
made a call to slice.get_unchecked(slice.length()) to get the end position of
the input buffer. The flaw was fixed with safe logic that does not invoke undefined
behavior.
More details can be found at https://github.com/icedland/iced/issues/168.
- Record
RUSTSEC-2021-0068- Updated
- 2026-11-02
Affected products
Affected packages
History
| Recorded | Changed | Sources |
|---|---|---|
| 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-2021-38188 is a critical vulnerability (CVSS 9.8) in Iced-x86 Project Iced-x86, published May 19, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.27%, the 70th percentile. Fixed in iced-x86 1.11.0.
References
rustsec.org/advisories/RUSTSEC-2021-0068.html
raw.githubusercontent.com/rustsec/advisory-db/main/crates/iced-x86/RUSTSEC-2021-0068.md
nvd.nist.gov/vuln/detail/CVE-2021-38188
github.com/icedland/iced/issues/168
github.com/icedland/iced/commit/3c607a003e03b773108401d109167d1840487dce
github.com/advisories/GHSA-jjx5-3f36-6927
github.com/icedland/iced
crates.io/crates/iced-x86