CVE-2020-24658 in Compiler
Tóm tắt
Bởi VulDB • 09/08/2026
Arm Compiler 5 đến phiên bản 5.06u6 có một lỗi trong tính năng bảo vệ ngăn xếp được thiết kế để giúp phát hiện các vụ tràn bộ đệm dựa trên ngăn xếp (stack-based buffer overflows) trong các mảng cục bộ. Khi tính năng này được bật, một hàm được bảo vệ sẽ ghi một giá trị canh gác vào ngăn xếp trước (phía trên) bất kỳ mảng nào dễ bị tổn thương nằm trong ngăn xếp. Giá trị canh gác này sẽ được kiểm tra xem có bị hỏng hóc hay không khi hàm trả về; việc phát hiện ra sự hỏng hóc sẽ dẫn đến lời gọi trình xử lý lỗi. Trong một số trường hợp, giá trị tham chiếu dùng để so sánh với giá trị canh gác cũng chính nó được ghi vào ngăn xếp (sau bất kỳ mảng nào dễ bị tổn thương). Giá trị tham chiếu này được ghi vào ngăn xếp khi hàm không còn thanh ghi nào khả dụng để sử dụng cho các dữ liệu tạm thời khác. Nếu cả giá trị tham chiếu và giá trị canh gác đều được ghi vào ngăn xếp, thì cơ chế bảo vệ ngăn xếp sẽ thất bại trong việc phát hiện sự hỏng hóc khi cả hai giá trị này bị ghi đè bằng cùng một giá trị. Để cả giá trị tham chiếu lẫn giá trị canh gác đều bị hỏng hóc, cần phải xảy ra đồng thời cả tràn bộ đệm (buffer overflow) và tràn ngược bộ đệm (buffer underflow) trên các mảng dễ bị tổn thương (hoặc một lỗ hổng khác gây ra việc làm hỏng hai mục ngăn xếp tách biệt nhau).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.