From version 0.2.14 to 0.2.16 for Solana rBPF, function "relocate" in the file src/elf.rs has an integer overflow bug because the sym.st_value is read directly from ELF file without checking. If the sym.st_value is rather large, an integer overflow is triggered while calculating the variable "addr" via "addr = (sym.st_value + refd_pa) as u64";
References
Link | Resource |
---|---|
https://blocksecteam.medium.com/new-integer-overflow-bug-discovered-in-solana-rbpf-7729717159ee | Exploit Third Party Advisory |
https://github.com/solana-labs/rbpf/blob/c14764850f0b83b58aa013248eaf6d65836c1218/src/elf.rs#L609-L630 | Exploit Third Party Advisory |
https://github.com/solana-labs/rbpf/pull/200 | Patch Third Party Advisory |
https://github.com/solana-labs/rbpf/pull/236 | Patch Third Party Advisory |
History
No history.
MITRE Information
Status: PUBLISHED
Assigner: mitre
Published: 2022-01-27T17:44:59
Updated: 2022-01-27T17:44:59
Reserved: 2022-01-03T00:00:00
Link: CVE-2021-46102
JSON object: View
NVD Information
Status : Analyzed
Published: 2022-01-27T18:15:07.770
Modified: 2023-04-26T19:10:22.567
Link: CVE-2021-46102
JSON object: View
Redhat Information
No data.
CWE