CVE-2026-80761 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 04.

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

블루투스: ISO: getname 호출 시 sockaddr을 0으로 초기화하십시오

iso_sock_getname() 함수는 struct sockaddr_iso 구조체를 제자리(in-place)로 채우고 크기를 반환하지만, 먼저 내용을 지우지 않습니다. 따라서 해당 함수가 작성하지 않은 바이트들이 커널 스택에서 사용자 공간(user space)으로 복사됩니다. getsockname(2) 및 getpeername(2) 경로는 모두 do_getsockname()을 거치며, 이 함수는 스택에 있는 초기화되지 않은 sockaddr_storage를 getname()에 전달하고 getname()이 반환하는 바이트 수만큼 다시 복사합니다. 따라서 드라이버가 자신이 관리하는 모든 바이트를 초기화해야 합니다.

다음 두 범위가 초기화되지 않은 상태로 남아 있습니다:

- struct sockaddr_iso는 10바이트이지만, family, iso_bdaddr, iso_bdaddr_type 등 총 9바이트만 작성됩니다. 이로 인해 매 호출마다 trailing pad byte가 누출(leak)됩니다. - 브로드캐스트 피어(BIS_LINK 또는 PA_LINK)의 경우 반환된 길이가 sizeof(struct sockaddr_iso_bc)만큼 증가하지만, bc_sid, bc_num_bis 및 bc_bis만 채워집니다. 해당 구조체의 첫 7바이트인 bc_bdaddr와 bc_bdaddr_type는 전혀 작성되지 않습니다.

권한이 없는(unprivileged) 프로세스가 BTPROTO_ISO 소켓을 열고 getsockname()을 통해 패드 누출에 접근할 수 있습니다. 브로드캐스트 누출은 BIS/PA 연결이 확립된 상태에서 필요합니다. l2cap 및 rfcomm도 동일한 이유로 getname에서 sockaddr을 memset으로 초기화합니다; 여기에서도 동일하게 처리하십시오.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-398889

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!