CVE-2026-98739 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 18.

리눅스 커널에서 다음 취약점이 해결되었습니다:

블루투스: RFCOMM: 초기 포트 참조에 대한 Race Condition 수정

RFCOMM_RELEASE_ONHUP 장치의 경우, rfcomm_tty_install()과 __rfcomm_release_dev()는 둘 다 누가 초기 tty_port 참조를 해제할지 결정하기 위해 RFCOMM_TTY_OWNED 비트를 사용합니다. 릴리스 경로에서는 해당 비트가 설치 경로에서 설정되는 것과 별도로 테스트되므로, 두 경로 모두 그 참조를 해제할 수 있습니다.

동기식 hangup은 이 Race Condition을 방지하지 않습니다: port->tty는 설치 후 tty_port_open() 호출 시까지 할당되지 않기 때문입니다. 다음과 같은 교차 실행(interleaving)이 가능합니다:

1. Install과 Release 각각 rfcomm_dev_get()를 통해 참조를 획득합니다. 2. Release가 RFCOMM_TTY_OWNED 비트가 클어(clear, 0) 상태임을 관찰합니다. 3. Install은 RFCOMM_TTY_OWNED를 설정하고 초기 참조를 해제(drop)합니다. 4. Release는 동일한 초기 참조를 다시 한 번 해제합니다. 5. TTY 정리 과정이 자신의 참조를 해제하고 장치를 해제(frees)합니다. 6. Release가 이미 해제된 포트에 대해 최종 tty_port_put()를 수행합니다.

KASAN에서 다음을 보고했습니다:

BUG: KASAN: slab-use-after-free in tty_port_put+0x22/0x190 Write of size 4 at addr ffff8881001d3d5c by task poc/92

Call Trace: tty_port_put+0x22/0x190 rfcomm_dev_ioctl+0x1d4/0x1930 sock_do_ioctl+0x110/0x260 sock_ioctl+0x380/0x590 __x64_sys_ioctl+0x134/0x1c0

Allocated by task 88: rfcomm_dev_ioctl+0x8f6/0x1930 sock_do_ioctl+0x110/0x260 sock_ioctl+0x380/0x590 __x64_sys_ioctl+0x134/0x1c0

Freed by task 65: kfree+0x131/0x3c0 rfcomm_dev_destruct+0x23b/0x2f0 release_one_tty+0xc1/0x370 process_one_work+0x661/0x1090

양쪽 경로에서 test_and_set_bit()를 사용하여 RFCOMM_TTY_OWNED가 클어(clear) 상태에서 셋(set, 1) 상태로 변경하는 호출자만 초기 참조를 해제하도록 합니다. 각 경로는 릴리스 또는 TTY 정리가 발생할 때까지 자체 조회(referral/lookup) 참조를 유지하여 기존 콜백 순서와 오류 처리 방식을 보존합니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-421992

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!