CVE-2023-40547 - HTTP 헤더 신뢰 오류 방지
- shim은 HTTP 또는 관련 프로토콜을 통해 파일을 검색할 때 수신된 데이터를 저장하기 위한 버퍼를 할당하려고 함.
- HTTP 헤더를 통해 버퍼 크기를 결정하는데, 이 헤더는 조작될 수 있어 실제 데이터보다 작은 크기를 지정할 수 있음.
- 이로 인해 할당은 헤더를 기반으로 하지만, 프로토콜 메타데이터를 사용하여 rx 버퍼에서 복사하게 되어 버퍼 오버플로우가 발생함.
- 이 패치는 rx 버퍼가 할당된 크기보다 크지 않은지 추가적으로 확인하는 검사를 추가함.
변경된 파일 검토
- 변경된 파일은
httpboot.c
로, 7개의 추가 사항과 1개의 삭제 사항이 있음.
- 주요 변경 사항은
receive_http_response
함수 내에서 buf_size
가 rx_message.BodyLength
보다 작은 경우 오류를 반환하도록 수정함.
GN⁺의 의견
- 이 패치는 보안 취약점 CVE-2023-40547을 해결하는 것으로, shim 부트로더의 안전성을 강화하는 중요한 업데이트임.
- HTTP 헤더를 통한 버퍼 오버플로우는 심각한 보안 위협을 초래할 수 있으며, 이러한 취약점을 방지하는 것은 소프트웨어 보안의 핵심 요소임.
- 이 기사는 소프트웨어 개발자들에게 보안 패치의 중요성과 적절한 버퍼 관리의 필요성을 상기시켜주는 유익한 정보를 제공함.