fix: Patch stack size for prevent potential thread stack size overflow vulnerability in telemetryTxTask, telemetryRxTask #70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
There are potential thread stack overflow in thread function
telemetryTxTask
,telemetryRxTask
, So I patch this by changing stack size.Details
LibrePilot/flight/modules/RadioComBridge/RadioComBridge.c
Line 51 in 8c101ad
LibrePilot/flight/modules/RadioComBridge/RadioComBridge.c
Lines 171 to 176 in 8c101ad
Cause of both this line,
telemetryTxTask
andtelemetryRxTask
allows stack size by 150 bytes, but after manually checking there might be allow 392, 232 bytes for each function and it can be an stack overflow.Steps to reproduce
makefile
and add CFLAGS, CXXFLAGSand
Now we can get stack usage file (*.su) for each source file, So we can manually check stack size of each function.
PoC
In case of
telemetryTxTask
In case of
telemetryRxTask
Code changed
LibrePilot/flight/modules/Telemetry/telemetry.c
Lines 187 to 202 in 8c101ad
=> Other thread functions that use same function have 800 size, so I change this thread function's stack size to 800.