Commit 51ea2bf
committed
Remove local stack variable form MPU wrappers
It was possible for a third party that had already independently gained
the ability to execute injected code to achieve further privilege
escalation by branching directly inside a FreeRTOS MPU API wrapper
function with a manually crafted stack frame. This commit removes the
local stack variable `xRunningPrivileged` so that a manually crafted
stack frame cannot be used for privilege escalation by branching
directly inside a FreeRTOS MPU API wrapper.
We thank Certibit Consulting, LLC, Huazhong University of Science and
Technology and the SecLab team at Northeastern University for reporting
this issue.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>1 parent c4ad77f commit 51ea2bf
File tree
7 files changed
+1632
-487
lines changed- .github
- include
- portable
- Common
- GCC
- ARM_CM3_MPU
- ARM_CM4_MPU
- IAR/ARM_CM4F_MPU
- RVDS/ARM_CM4_MPU
7 files changed
+1632
-487
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2533 | 2533 | | |
2534 | 2534 | | |
2535 | 2535 | | |
2536 | | - | |
2537 | 2536 | | |
2538 | 2537 | | |
2539 | 2538 | | |
| |||
2852 | 2851 | | |
2853 | 2852 | | |
2854 | 2853 | | |
2855 | | - | |
2856 | 2854 | | |
2857 | 2855 | | |
2858 | 2856 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | 173 | | |
204 | 174 | | |
205 | 175 | | |
| |||
0 commit comments