🇰🇷 한글 설명
리눅스 커널의 Thunderbolt 드라이버에서 XDomain 속성 응답의 크기를 적절히 검증하지 않아 발생하는 취약점입니다. 악의적인 피어가 데이터 길이를 조작하여 할당된 버퍼보다 큰 데이터를 읽게 함으로써 12바이트의 힙 영역 외부 읽기(Out-of-bounds read)를 유발할 수 있습니다.
💡 쉬운 설명
썬더볼트 장치가 컴퓨터에 잘못된 크기의 정보를 보내면, 컴퓨터 메모리의 허용된 범위를 넘어서 데이터를 읽게 되는 보안 결함입니다. 이로 인해 시스템의 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
thunderbolt: Reject oversized XDomain properties responses
tb_xdp_properties_request() allocates room for 45 data dwords in its
252-byte response buffer. The XDomain length field is six bits wide,
however, and a malicious peer can set it to 63. After the fixed response
fields are subtracted, the driver treats this as 48 data dwords.
Commit 322e93448d90 ("thunderbolt: Clamp XDomain response data copy to
allocation size") only bounds the copy against data_len. If data_len is
at least 48, memcpy() reads 192 bytes from the 180-byte res->data array,
causing a 12-byte heap out-of-bounds read. Commit 4db2bd2ed478
("thunderbolt: Limit XDomain response copy to actual frame size") limits
the earlier copy but does not constrain this header-derived length.
Reject response data lengths that exceed the allocated source buffer
before copying them into the assembled property block.
📍 영향받는 시스템
Linux Kernel (Thunderbolt driver 포함 버전)
⚔️ 공격 벡터
악의적으로 조작된 XDomain 속성 응답을 보내는 물리적 또는 논리적 Thunderbolt 연결 장치
🛡️ 대응 방법
XDomain 응답 데이터 길이를 할당된 버퍼 크기 내로 제한하는 최신 리눅스 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 커밋(322e93448d90 또는 4db2bd2ed478 이후)이 포함된 버전인지 확인하십시오.