🇰🇷 한글 설명
Linux 커널의 Bluetooth btrtl 드라이버에서 펌웨어 형식 v2를 파싱할 때 초기화되지 않은 반환 코드(rc)가 유출되는 취약점이 발견되었습니다. 칩의 key_id가 0인 경우 보안 헤더를 무시하도록 설계되었으나, 구현 오류로 인해 잘못된 반환 값이 전달될 수 있습니다.
💡 쉬운 설명
블루투스 장치와 통신할 때 시스템이 내부 정보를 잘못된 값으로 처리하여 오류를 일으킬 수 있는 문제입니다. 보안 검사를 건너뛰는 과정에서 계산되지 않은 잘못된 결과값이 전달되는 현상입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btrtl: Don't leak return code when parsing firmware format v2
When key_id from chip is zero, rtlbt_parse_firmware_v2() intentionally
ignores all security headers. However, the implementation simply breaks
from a switch statement and leaks uninitialized return code `rc' (if the
first section is a security one) or the previous section's `rc'.
Fix it by really skipping a loop with `continue'. For consistency and
readability, also do the same for the default case.
📍 영향받는 시스템
Linux kernel (Bluetooth btrtl driver)
⚔️ 공격 벡터
조작된 블루투스 펌웨어 형식을 전송하여 커널의 잘못된 반환 값을 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인