🔍 CVE-2026-31512

5.5
CVSS Score
MEDIUM
2026-04-22
2026-11-05 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Bluetooth L2CAP 모듈에서 l2cap_ecred_data_rcv() 함수가 SDU 길이 필드를 읽기 전에 PDU 길이를 검증하지 않는 문제입니다. skb 데이터가 2바이트보다 짧을 때 유효 범위를 벗어난 메모리를 읽게 되어, ERTM 재조립 경로에 적용된 것과 같은 pskb_may_pull() 검증을 추가하여 수정되었습니다.

💡 쉬운 설명

블루투스 통신 데이터를 처리하는 리눅스 커널 코드에서 길이 확인이 빠져 있어 잘못된 메모리 영역을 읽을 수 있습니다. 해당 커널 업데이트를 적용하면 이 문제가 해결됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Validate PDU length before reading SDU length in l2cap_ecred_data_rcv() l2cap_ecred_data_rcv() reads the SDU length field from skb->data using get_unaligned_le16() without first verifying that skb contains at least L2CAP_SDULEN_SIZE (2) bytes. When skb->len is less than 2, this reads past the valid data in the skb. The ERTM reassembly path correctly calls pskb_may_pull() before reading the SDU length (l2cap_reassemble_sdu, L2CAP_SAR_START case). Apply the same validation to the Enhanced Credit Based Flow Control data path.

📍 영향받는 시스템

패치 이전의 Linux 커널 (블루투스 L2CAP ECRED 기능을 사용하는 시스템)

⚔️ 공격 벡터

근거리 공격자가 조작된 짧은 L2CAP 패킷을 블루투스로 전송하여 커널 메모리 과독을 유발할 수 있음

🛡️ 대응 방법

배포판 벤더가 제공하는 최신 Linux 커널 보안 업데이트를 설치하고 재부팅합니다.

🔧 검증 코드

출력된 커널 버전을 벤더의 패치 목록과 대조하고, bluetooth 모듈이 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.

Shell / Script
uname -r && (lsmod | grep -E '^bluetooth|^l2cap' || echo 'bluetooth 모듈 미로드')

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel