🔍 CVE-2026-64549

0.0
CVSS Score
UNKNOWN
2026-07-27
2026-11-03 18:15
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Bluetooth bpa10x 드라이버에서 bpa10x_setup() 함수가 응답 데이터의 길이를 확인하지 않고 revision 문자열을 읽어 발생하는 OOB(Out-of-Bounds) Read 취약점입니다. 이로 인해 데이터 경계를 벗어난 인접 슬랩 메모리가 커널 로그 및 debugfs 파일에 노출될 수 있습니다.

💡 쉬운 설명

블루투스 장치가 잘못된 형식의 짧은 응답을 보낼 때, 컴퓨터가 메모리의 허용된 범위를 넘어 다른 정보를 읽어버리는 문제입니다. 이 과정에서 시스템 내부의 민감한 정보가 로그 파일에 기록되어 유출될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup() bpa10x_setup() sends the vendor command 0xfc0e and passes the response to bt_dev_info() and hci_set_fw_info() as a "%s" string starting at skb->data + 1, without checking the length: bt_dev_info(hdev, "%s", (char *)(skb->data + 1)); hci_set_fw_info(hdev, "%s", skb->data + 1); A device that returns a one-byte response (status only) leaves skb->data + 1 past the end of the data, and the %s walk reads adjacent slab memory until it meets a NUL. The same happens when the payload is not NUL-terminated within skb->len. The out-of-bounds bytes end up in the kernel log and the firmware-info debugfs file. Print the revision string with a bounded "%.*s" limited to skb->len - 1 instead. This keeps the string readable for well-behaved devices while never reading past the received data, and does not fail setup, so a device returning a short or unterminated response keeps working.

📍 영향받는 시스템

Linux kernel (Bluetooth bpa10x driver 포함 버전)

⚔️ 공격 벡터

조작된 응답을 보내는 악의적인 블루투스 장치를 통한 메모리 정보 유출

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 문자열 읽기 범위를 제한해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel