Description
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 (4)
Core 4
Core References
Exploit, Third Party Advisory x_refsource_misc
https://blocksecteam.medium.com/new-integer-overflow-bug-discovered-in-solana-rbpf-7729717159ee
Exploit, Third Party Advisory x_refsource_misc
https://github.com/solana-labs/rbpf/blob/c14764850f0b83b58aa013248eaf6d65836c1218/src/elf.rs#L609-L630
Patch, Third Party Advisory x_refsource_misc
https://github.com/solana-labs/rbpf/pull/200
Patch, Third Party Advisory x_refsource_misc
https://github.com/solana-labs/rbpf/pull/236
Scores
CVSS v3
7.5
EPSS
0.0187
EPSS Percentile
76.6%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Details
CWE
CWE-190
Status
published
Products (2)
crates.io/solana_rbpf
0.2.14 - 0.2.17crates.io
solanalabs/rbpf
0.2.14 - 0.2.16
Published
Jan 27, 2022
Tracked Since
Feb 18, 2026