@@ -2,28 +2,39 @@ Documentation and download available at https://www.FreeRTOS.org/
2
2
3
3
Changes between FreeRTOS V10.4.3 LTS Patch 2 and FreeRTOS V10.4.3 LTS Patch 3 released September 16 2022
4
4
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
6
6
already independently gained the ability to execute injected code to
7
7
read from or write to arbitrary addresses by passing a negative argument
8
8
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.
10
12
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
13
15
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
17
23
already independently gained the ability to execute injected code to
18
24
achieve further privilege escalation by branching directly inside a
19
25
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.
20
29
We thank Certibit Consulting, LLC, Huazhong University of Science and
21
30
Technology and the SecLab team at Northeastern University for reporting
22
31
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.
27
38
28
39
Changes between FreeRTOS V10.4.3 LTS Patch 1 and FreeRTOS V10.4.3 LTS Patch 2 released November 12 2021
29
40
0 commit comments