🇰🇷 한글 설명
Linux 커널 Bluetooth SMP 프로토콜에서 페어링 응답 구성 시 로컬 MITM 요구사항을 먼저 검증하지 않아, 초기화자가 MITM을 생략하면 응답자도 MITM 없이 응답할 수 있습니다. 이로 인해 중간자 공격(MITM)으로부터의 보호가 우회될 수 있습니다.
💡 쉬운 설명
Bluetooth 장치 페어링 과정에서 보안 검사 순서가 잘못되어 중간자 공격을 방어하지 못합니다. 공격자가 두 Bluetooth 장치 사이에 개입하여 통신을 도청하거나 조작할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: SMP: force responder MITM requirements before building the pairing response
smp_cmd_pairing_req() currently builds the pairing response from the
initiator auth_req before enforcing the local BT_SECURITY_HIGH
requirement. If the initiator omits SMP_AUTH_MITM, the response can
also omit it even though the local side still requires MITM.
tk_request() then sees an auth value without SMP_AUTH_MITM and may
select JUST_CFM, making method selection inconsistent with the pairing
policy the responder already enforces.
When the local side requires HIGH security, first verify that MITM can
be achieved from the IO capabilities and then force SMP_AUTH_MITM in the
response in both rsp.auth_req and auth. This keeps the responder auth bits
and later method selection aligned.
📍 영향받는 시스템
Linux 커널의 Bluetooth SMP 구현 (6.0 이전 버전)
⚔️ 공격 벡터
Bluetooth SMP 페어링 요청에서 MITM 인증 비트(SMP_AUTH_MITM)를 생략하여 전송
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업그레이드 (6.0 이상 권장)
🔧 검증 코드
커널 메이저 버전이 6 이상이면 패치됨, 5 이하면 취약함 (정확한 패치 상태는 커널 체인지로그 확인 필요)
uname -r | grep -oP '^\d+\.\d+' | awk -F. '{if($1>=6) print "Patched"; else print "Vulnerable"}'