@@ -2,28 +2,39 @@ Documentation and download available at https://www.FreeRTOS.org/
22
33Changes between FreeRTOS V10.4.3 LTS Patch 2 and FreeRTOS V10.4.3 LTS Patch 3 released September 16 2022
44
5- + ARMv7-M and ARMv8-M MPU ports: It is possible for a third party that
5+ + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
66 already independently gained the ability to execute injected code to
77 read from or write to arbitrary addresses by passing a negative argument
88 as the xIndex parameter to pvTaskGetThreadLocalStoragePointer() or
9- vTaskSetThreadLocalStoragePointer respectively.
9+ vTaskSetThreadLocalStoragePointer respectively. A check has been added to
10+ ensure that passing a negative argument as the xIndex parameter does not
11+ cause arbitrary read or write.
1012 We thank Certibit Consulting, LLC for reporting this issue.
11- + ARMv7-M and ARMv8-M MPU ports: It is possible for an unprivileged task to
12- invoke any function with privilege by passing it as a parameter to
13+ + ARMv7-M and ARMv8-M MPU ports: It was possible for an unprivileged task
14+ to invoke any function with privilege by passing it as a parameter to
1315 MPU_xTaskCreate, MPU_xTaskCreateStatic, MPU_xTimerCreate,
14- MPU_xTimerCreateStatic, or MPU_xTimerPendFunctionCall.
15- We thank Huazhong University of Science and Technology for reporting this issue.
16- + ARMv7-M and ARMv8-M MPU ports: It is possible for a third party that has
16+ MPU_xTimerCreateStatic, or MPU_xTimerPendFunctionCall. MPU_xTaskCreate
17+ and MPU_xTaskCreateStatic have been updated to only allow creation of
18+ unprivileged tasks. MPU_xTimerCreate, MPU_xTimerCreateStatic and
19+ MPU_xTimerPendFunctionCall APIs have been removed.
20+ We thank Huazhong University of Science and Technology for reporting
21+ this issue.
22+ + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
1723 already independently gained the ability to execute injected code to
1824 achieve further privilege escalation by branching directly inside a
1925 FreeRTOS MPU API wrapper function with a manually crafted stack frame.
26+ The local stack variable `xRunningPrivileged` has been removed so that
27+ a manually crafted stack frame cannot be used for privilege escalation
28+ by branching directly inside a FreeRTOS MPU API wrapper.
2029 We thank Certibit Consulting, LLC, Huazhong University of Science and
2130 Technology and the SecLab team at Northeastern University for reporting
2231 this issue.
23- + ARMv7-M MPU ports: It is possible to configure overlapping memory
24- protection unit (MPU) regions such that an unprivileged task can access
25- privileged data.
26- We thank the SecLab team at Northeastern University for reporting this issue.
32+ + ARMv7-M MPU ports: It was possible to configure overlapping memory
33+ protection unit (MPU) regions such that an unprivileged task could access
34+ privileged data. The kernel now uses highest numbered MPU regions for
35+ kernel protections to prevent such MPU configurations.
36+ We thank the SecLab team at Northeastern University for reporting this
37+ issue.
2738
2839Changes between FreeRTOS V10.4.3 LTS Patch 1 and FreeRTOS V10.4.3 LTS Patch 2 released November 12 2021
2940
0 commit comments