In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: hold listener socket in rfcomm_connect_ind() rfcomm
위협 신호 · CVSS · EPSS · KEV
이론적 심각도 점수
30일 내 악용 확률 예측
실측 악용 기록 없음
2주 이내 패치 — 우선 조치 대상
CVSS 벡터 · 메트릭
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H약점 (CWE)
- CWE-416
Use-After-Free — 해제된 메모리를 다시 사용해 충돌·코드 실행 유발.
상세 설명
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: RFCOMM: hold listener socket in rfcomm_connect_ind()
rfcomm_get_sock_by_channel() scans rfcomm_sk_list under the list lock,
but returns the selected listener after dropping that lock without
taking a reference. rfcomm_connect_ind() then locks the listener,
queues a child socket on it, and may notify it after unlocking it.
The buggy scenario involves two paths, with each column showing the
order within that path:
rfcomm_connect_ind(): listener close:
- Find parent in 1. close() enters
rfcomm_get_sock_by_channel() rfcomm_sock_release(). - Drop rfcomm_sk_list.lock 2. rfcomm_sock_shutdown()
without pinning parent. closes the listener. - Call lock_sock(parent) and 3. rfcomm_sock_kill()
bt_accept_enqueue(parent, unlinks and puts parent.
sk, true). - Read parent flags and may 4. parent can be freed.
call sk_state_change().
If close wins the race, parent can be freed before
rfcomm_connect_ind() reaches lock_sock(), bt_accept_enqueue(), or the
deferred-setup callback.
Take a reference on the listener before leaving rfcomm_sk_list.lock.
After lock_sock() succeeds, recheck that it is still in BT_LISTEN
before queueing a child, cache the deferred-setup bit while the parent
is locked, and drop the reference after the last parent use.
KASAN reported a slab-use-after-free in lock_sock_nested() from
rfcomm_connect_ind(), with the freeing stack going through
rfcomm_sock_kill() and rfcomm_sock_release().
AI 심층 분석
공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.
영향받는 제품·버전
- linux linux_kernel2.6.12.1 - 5.10.259linux
- linux linux_kernel5.11 - 5.15.210linux
- linux linux_kernel5.16 - 6.1.176linux
- linux linux_kernel6.2 - 6.6.143linux
- linux linux_kernel6.7 - 6.12.94linux
- linux linux_kernel6.13 - 6.18.36linux
- linux linux_kernel6.19 - 7.0.13linux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
- linux linux_kernellinux
영향받는 구성 (CPE) 12
- linux linux_kernel≥ 2.6.12.1 < 5.10.259cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
- linux linux_kernel 2.6.12cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:*
- linux linux_kernel 2.6.12cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:*
- linux linux_kernel 2.6.12cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:*
- linux linux_kernel 2.6.12cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:*
- linux linux_kernel 2.6.12cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
- linux linux_kernel 7.1cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
참고 자료 8
링크 내용 불러오는 중…