rust/library
Theodore Cipicchio c989de52b8
Add is_enclave_range/is_user_range overflow checks
Functions such as `is_enclave_range` and `is_user_range` in
`sgx::os::fortanix_sgx::mem` are often used to make sure memory ranges
passed to an enclave from untrusted code or passed to other trusted code
functions are safe to use for their intended purpose. Currently, these
functions do not perform any checks to make sure the range provided
doesn't overflow when adding the range length to the base address. While
debug builds will panic if overflow occurs, release builds will simply
wrap the result, leading to false positive results for either function.
The burden is placed on application authors to know to perform overflow
checks on their own before calling these functions, which can easily
lead to security vulnerabilities if omitted. Additionally, since such
checks are performed in the Intel SGX SDK versions of these functions,
developers migrating from Intel SGX SDK code may expect these functions
to operate the same.

This commit adds explicit overflow checking to `is_enclave_range` and
`is_user_range`, returning `false` if overflow occurs in order to
prevent misuse of invalid memory ranges. It also alters the checks to
account for ranges that lie exactly at the end of the address space,
where calculating `p + len` would overflow despite the range being
valid.
2020-09-04 13:58:59 -07:00
..
alloc Auto merge of #75207 - dylni:add-slice-check-range, r=KodrAus 2020-09-04 12:21:43 +00:00
backtrace@4083a90168 std: Switch from libbacktrace to gimli 2020-07-28 16:34:01 -07:00
core Auto merge of #75207 - dylni:add-slice-check-range, r=KodrAus 2020-09-04 12:21:43 +00:00
panic_abort Rollup merge of #75990 - rylev:arm-fastfail, r=alexcrichton 2020-08-30 01:43:54 +02:00
panic_unwind Auto merge of #70212 - Amanieu:catch_foreign, r=Mark-Simulacrum 2020-08-28 01:20:17 +00:00
proc_macro Add -Z proc-macro-backtrace to allow showing proc-macro panics 2020-08-30 22:17:24 -04:00
profiler_builtins Add InstrProfilingPlatformFuchsia.c to profiler_builtins 2020-08-27 11:52:36 -07:00
rtstartup mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-alloc mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-core mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-std mv std libs to library/ 2020-07-27 19:51:13 -05:00
std Add is_enclave_range/is_user_range overflow checks 2020-09-04 13:58:59 -07:00
stdarch@78891cdf29 fix broken git commit in stdarch 2020-08-03 15:52:30 +08:00
term mv std libs to library/ 2020-07-27 19:51:13 -05:00
test Prefer https link for wikipedia URLs 2020-08-23 10:02:42 +00:00
unwind Add back unwinding support for Sony PSP 2020-08-08 02:14:40 -04:00