ITADN

Fix critical buffer overflow vulnerability in Bluetooth REPL

#301Pull Requestseuros 创建于 2025-08-30已合并
S
seuroscommented
## Summary This PR fixes a **critical buffer overflow vulnerability** in `lua_write_to_repl()` that could allow remote code execution via Bluetooth. ## Vulnerability Details - **File**: `source/application/luaport.c:40-50` - **Issue**: No bounds checking on BLE data length - **Buffer size**: `BLE_PREFERRED_MAX_MTU` (247 bytes) - **Parameter range**: `uint8_t length` (0-255) - **Overflow potential**: 8 bytes (255 - 247) - **Impact**: Stack corruption → potential remote code execution ## Root Cause The function accepts a `length` parameter that can exceed the buffer size: ```c static volatile char repl_buffer[BLE_PREFERRED_MAX_MTU]; // 247 bytes void lua_write_to_repl(uint8_t *buffer, uint8_t length) // length can be 0-255 { // No bounds checking - vulnerability! for (size_t buffer_index = 0; buffer_index < length; buffer_index++) repl_buffer[buffer_index] = buffer[buffer_index]; } ``` ## Fix Implementation Added proper bounds checking following Nordic SDK security best practices: ```c if (length >= BLE_PREFERRED_MAX_MTU) { length = BLE_PREFERRED_MAX_MTU - 1; // Reserve space for null terminator } ``` ## Security Standards Compliance - ✅ **Nordic SDK patterns**: Follows official Nordic examples for buffer validation - ✅ **OWASP guidelines**: Implements input validation and bounds checking - ✅ **CISA recommendations**: Eliminates buffer overflow class defects - ✅ **Industry standards**: Prevents stack-based buffer overflows ## Testing - [x] Verified bounds checking prevents overflow with test vectors - [x] Confirmed null termination safety maintained - [x] No functional impact on normal operation - [x] Firmware compiles and builds successfully ## Risk Assessment - **Before**: Critical vulnerability - RCE via Bluetooth possible - **After**: Vulnerability eliminated - safe input handling - **CVE**: Pending assignment for responsible disclosure ## References - [Nordic nRF52 Security Guidelines](https://infocenter.nordicsemi.com) - [OWASP Buffer Overflow Prevention](https://owasp.org/www-community/vulnerabilities/Buffer_Overflow) - [CISA Secure by Design Alert](https://www.cisa.gov/resources-tools/resources/secure-design-alert-eliminating-buffer-overflow-vulnerabilities) This is a **security-critical fix** that should be prioritized for immediate inclusion. --- *Sorry hackers, you won't RCE my glasses.* 🤓
合并状态:已合并 合并于 2025-10-05 关闭于 2025-10-05 3 条评论