CVE-2026-64403 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 26.

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

블루투스: L2CAP: conf opt 값을 읽기 전에 옵션 길이를 검증합니다.

l2cap_get_conf_opt() 함수는 공격자가 제어할 수 있는 opt->len 필드로부터 옵션 길이를 파생하고, 호출자 중 어느 누구도 버퍼 내에 opt->len 바이트가 존재함을 확인하기 전에 즉시 opt->val을 역참조합니다(기본 케이스의 경우 u8, get_unaligned_le16() 또는 get_unaligned_le32(), 또는 원시 포인터로). 호출자들(l2cap_parse_conf_req(), l2cap_parse_conf_rsp() 및 l2cap_conf_rfc_get())은 실행 중인 길이가 음수가 된 시점에 이르러서야 비로소 잘못된 형식의 옵션을 감지합니다. 이 단계에서는 이미 경계를 벗어난 읽기(out-of-bounds read)가 수행된 상태입니다.

기존의 사후 길이 검증(post-hoc length check)은 쓰레기 값이 소비되는 것을 방지하므로, 현재 제어 흐름에서 데이터 유출(data leak)은 아닙니다. 그러나 이는 여전히 사용 후 검증(validate-after-use) 순서 버그입니다: 버퍼에 해당 내용이 포함되어 있음이 확인되기 전에 최대 4바이트가 버퍼 끝을 넘어 읽히며, 호출자들의 향후 변경 사항에 대해 취약합니다.

근본 원인을 해결합니다. l2cap_get_conf_opt() 함수로 버퍼의 끝 주소를 전달하고, 전체 옵션(헤더 + 값)이 맞지 않는 한 opt->val에 접근하지 않도록 거부합니다. 각 호출자는 루프 전에 한번만 엔드 포인터를 계산하고, 음수 길이로부터 오류를 추론하는 대신 반환 값을 직접 확인합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383193

EPSS

0.00220

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!