🔍 CVE-2026-31498

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

🇰🇷 한글 설명

Linux 커널 Bluetooth L2CAP 모듈에서 재구성(reconfiguration) 경로 처리 시 ERTM 리소스가 재초기화되며 이전 할당이 해제되지 않아 메모리 누수가 발생합니다. 또한 원격 MPS 값이 0일 때 l2cap_segment_sdu()의 while 루프가 종료되지 않아 메모리가 고갈될 수 있습니다.

💡 쉬운 설명

블루투스 연결을 설정 변경하는 과정에서 컴퓨터가 메모리를 계속 잃어버리는 결함입니다. 악의적인 기기가 특정 값을 보내면 프로그램이 멈추지 않고 메모리를 모두 써버릴 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop l2cap_config_req() processes CONFIG_REQ for channels in BT_CONNECTED state to support L2CAP reconfiguration (e.g. MTU changes). However, since both CONF_INPUT_DONE and CONF_OUTPUT_DONE are already set from the initial configuration, the reconfiguration path falls through to l2cap_ertm_init(), which re-initializes tx_q, srej_q, srej_list, and retrans_list without freeing the previous allocations and sets chan->sdu to NULL without freeing the existing skb. This leaks all previously allocated ERTM resources. Additionally, l2cap_parse_conf_req() does not validate the minimum value of remote_mps derived from the RFC max_pdu_size option. A zero value propagates to l2cap_segment_sdu() where pdu_len becomes zero, causing the while loop to never terminate since len is never decremented, exhausting all available memory. Fix the double-init by skipping l2cap_ertm_init() and l2cap_chan_ready() when the channel is already in BT_CONNECTED state, while still allowing the reconfiguration parameters to be updated through l2cap_parse_conf_req(). Also add a pdu_len zero check in l2cap_segment_sdu() as a safeguard.

📍 영향받는 시스템

패치되지 않은 Linux 커널 버전 (블루투스 L2CAP ERTM 기능 사용 시)

⚔️ 공격 벡터

인접한 블루투스 기기가 근접 범위에서 조작된 L2CAP CONFIG_REQ 패킷을 전송하여 메모리 고갈 유발

🛡️ 대응 방법

벤더 제공 최신 Linux 커널 보안 업데이트 적용 후 재부팅

🔧 검증 코드

출력된 커널 버전을 배포판의 보안 권고 패치 적용 버전과 비교하고, bluetooth 모듈이 로드되어 있으면 패치 적용 여부를 확인해야 하며, 모듈이 없으면 블루투스 기능이 비활성화되어 영향이 없습니다.

Shell / Script
uname -r && (lsmod | grep -E 'bluetooth|l2cap') 2>/dev/null

📊 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