CVE-2024-48981 in MBed
요약
\~에 의해 VulDB • 2026. 07. 27.
MBed OS 6.16.0에서 취약점이 발견되었습니다. HCI 패킷 처리 중 소프트웨어는 식별용 첫 번째 바이트를 참조하여 가능한 길이 테이블과 매칭함으로써 패킷 헤더의 길이를 동적으로 결정합니다. 초기 파싱 함수인 `hciTrSerialRxIncoming`은 유효하지 않은 식별자를 가진 패킷을 삭제하지 않으며, 미지의 패킷 헤더 길이에 대해 안전한 기본값도 설정하지 않아 버퍼 오버플로우를 초래합니다. 이는 공격자가 임의 쓰기(arbitrary write)로 악용할 수 있습니다. 이 취약점을 통해 아직 할당되지 않았으나 패킷 본문 내용을 수신해야 하는 버퍼에 대한 포인터를 덮어쓸 수 있습니다. 또한, 함수가 현재 진행 중인 패킷 파싱 상태를 결정하는 데 사용되는 상태 변수(state variable)도 덮어쓸 수 있습니다. 헤더의 마지막 바이트가 복사될 때만 버퍼가 할당되므로, 카운터 변수와 절대 일치하지 않을 나쁜 헤더 길이 변수와 결과적인 버퍼 오버플로우를 통해 상태 변수를 덮어쓸 수 있는 조합을 사용하면, 함수가 다음 단계로 진행되면서도 버퍼 할당과 그에 따른 포인터 쓰기를 건너뛸 수 있습니다. 이후 패킷 본문에서 다음 16바이트는 손상된 데이터 포인터가 가리키는 임의의 위치에 기록됩니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.