CVE-2020-24658
CVE-2020-24658 is a high-severity vulnerability in Arm Arm Compiler with a CVSS 3.x base score of 7.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-770.
Key facts
- Severity: High (CVSS 3.x base score 7.8)
- CVSS v2: 4.4
- EPSS exploit prediction: 0% (23rd percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-770
- Affected product: Arm Arm Compiler
- Published:
- Last modified:
Description
Arm Compiler 5 through 5.06u6 has an error in a stack protection feature designed to help spot stack-based buffer overflows in local arrays. When this feature is enabled, a protected function writes a guard value to the stack prior to (above) any vulnerable arrays in the stack. The guard value is checked for corruption on function return; corruption leads to an error-handler call. In certain circumstances, the reference value that is compared against the guard value is itself also written to the stack (after any vulnerable arrays). The reference value is written to the stack when the function runs out of registers to use for other temporary data. If both the reference value and the guard value are written to the stack, then the stack protection will fail to spot corruption when both values are overwritten with the same value. For both the reference value and the guard value to be corrupted, there would need to be both a buffer overflow and a buffer underflow in the vulnerable arrays (or some other vulnerability that causes two separated stack entries to be corrupted).
Frequently asked questions
- What is CVE-2020-24658?
- Arm Compiler 5 through 5.06u6 has an error in a stack protection feature designed to help spot stack-based buffer overflows in local arrays. When this feature is enabled, a protected function writes a guard value to the stack prior to (above) any vulnerable arrays in the stack. The guard value is checked for corruption on function return; corruption leads to an error-handler call. In certain circumstances, the reference value that is compared against the guard value is itself also written to the stack (after any vulnerable arrays). The reference value is written to the stack when the function runs out of registers to use for other temporary data. If both the reference value and the guard value are written to the stack, then the stack protection will fail to spot corruption when both values are overwritten with the same value. For both the reference value and the guard value to be corrupted, there would need to be both a buffer overflow and a buffer underflow in the vulnerable arrays (or some other vulnerability that causes two separated stack entries to be corrupted).
- How severe is CVE-2020-24658?
- CVE-2020-24658 has a CVSS 3.x base score of 7.8, rated high severity. It is exploitable over local access with low attack complexity, requires low privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2020-24658 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (23rd percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2020-24658?
- CVE-2020-24658 primarily affects Arm Arm Compiler. In total, 9 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2020-24658?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- When was CVE-2020-24658 published?
- CVE-2020-24658 was published on 2020-12-24 and last updated on 2026-06-17.
References
Affected products (9)
- cpe:2.3:a:arm:arm_compiler:*:*:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:-:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update1:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update2:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update3:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update4:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update5:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update6:*:*:*:*:*:*
- cpe:2.3:a:arm:arm_compiler:5.06:update7:*:*:*:*:*:*
More vulnerabilities in Arm Arm Compiler
- CVE-2022-43702 — High (CVSS 7.8): When the directory containing the installer does not have sufficiently restrictive file permissions, an attacker can…
- CVE-2022-43701 — High (CVSS 7.8): When the installation directory does not have sufficiently restrictive file permissions, an attacker can modify files…
All CVEs affecting Arm Arm Compiler →
Other CWE-770 (Allocation of Resources Without Limits or Throttling) vulnerabilities
- CVE-2026-31283 — Critical (CVSS 9.8): In Totara LMS v19.1.5 and before, the forgot password API does not implement rate limiting for the target email…
- CVE-2020-37067 — Critical (CVSS 9.8): Filetto 1.0 FTP server contains a denial of service vulnerability in the FEAT command processing that allows attackers…
- CVE-2021-47875 — Critical (CVSS 9.8): GeoGebra CAS Calculator 6.0.631.0 contains a denial of service vulnerability that allows attackers to crash the…
- CVE-2025-11832 — Critical (CVSS 9.8): Allocation of Resources Without Limits or Throttling vulnerability in Azure Access Technology BLU-IC2, Azure Access…
- CVE-2024-44241 — Critical (CVSS 9.8): The issue was addressed with improved bounds checks. This issue is fixed in iOS 18.1 and iPadOS 18.1, macOS Sequoia…
- CVE-2022-3439 — Critical (CVSS 9.8): Allocation of Resources Without Limits or Throttling in GitHub repository ikus060/rdiffweb prior to 2.5.0.
Browse all CWE-770 (Allocation of Resources Without Limits or Throttling) vulnerabilities →