CVE-2020-24658 in Compiler
요약
\~에 의해 VulDB • 2026. 07. 16.
Arm Compiler 5부터 5.06u6까지에는 로컬 배열에서 스택 기반 버퍼 오버플로우를 감지하는 데 도움이 되도록 설계된 스택 보호 기능에 오류가 있습니다. 이 기능이 활성화되면, 보호되는 함수는 호출되기 전(스택 상의 더 높은 주소) 취약한 배열 앞에 가드 값을 스택에 기록합니다. 함수 반환 시 해당 가드 값이 손상되었는지 확인하며, 손상이 발견되면 에러 핸들러를 호출합니다. 특정 상황에서는 가드 값과 비교할 참조값 역시 스택(취약한 배열 이후의 더 낮은 주소)에 기록됩니다. 이 참조값은 함수가 다른 임시 데이터를 저장하기 위해 사용할 레지스터가 부족해졌을 때 스택에 기록됩니다. 만약 참조값과 가드 값이 모두 스택에 기록된 경우, 두 값이 동일한 값으로 덮어씌워지면 스택 보호 기능은 손상을 감지하지 못합니다. 참조값과 가드 값이 모두 손상되려면 취약한 배열에서 버퍼 오버플로우와 버퍼 언더플로우가 동시에 발생하거나(또는 분리된 두 개의 스택 엔트리가 손상되는 다른 취약점이 존재해야) 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.