🔍 CVE-2026-74508

8.8
CVSS Score
HIGH
2026-08-15
2026-10-16 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Bluetooth HIDP 프로토콜에서 트랜잭션 헤더가 없는 프레임을 적절히 검증하지 않아 발생하는 취약점입니다. 공격자가 비어 있는 SDU를 전송하거나 조작된 L2CAP 패킷을 보내 초기화되지 않은 메모리 값을 참조하게 함으로써 세션을 종료시키거나 시스템 불안정을 유발할 수 있습니다.

💡 쉬운 설명

블루투스 연결 과정에서 규칙에 맞지 않는 잘못된 데이터를 보냈을 때, 컴퓨터가 이를 제대로 확인하지 않고 잘못된 메모리 값을 읽어버리는 문제입니다. 이로 인해 블루투스 연결이 끊기거나 시스템에 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: HIDP: reject frames without a transaction header hidp_recv_ctrl_frame() and hidp_recv_intr_frame() read skb->data[0] before checking that the L2CAP SDU contains a transaction header. A connected HIDP peer can send an empty basic-mode SDU and make both paths use an uninitialized byte from skb tailroom. KMSAN reports the use in hidp_session_run(), with the uninitialized value originating in __alloc_skb() through vhci_write(). The control path produces two reports and the interrupt path produces one. The byte can also be controlled by a malformed lower-layer packet. If an HCI ACL packet contains an L2CAP PDU with a declared zero-length payload followed by an extra 0x15 byte, l2cap_recv_acldata() reduces skb->len to the declared PDU length before dispatch. The current HIDP path nevertheless consumes the extra byte as HIDP_TRANS_HID_CONTROL | HIDP_CTRL_VIRTUAL_CABLE_UNPLUG and terminates the HIDP session. With this change, the same packet is discarded and a subsequent feature report request succeeds. Pull the transaction header with skb_pull_data() and discard frames that do not contain it.

📍 영향받는 시스템

Linux Kernel (Bluetooth HIDP 관련 모듈 사용 시스템)

⚔️ 공격 벡터

연결된 블루투스 피어(Peer)를 통한 조작된 L2CAP/HIDP 패킷 전송

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 HIDP 프레임 검증 로직을 적용해야 합니다.

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel