CVE-2024-38587 json
speakup: Fix sizeof() vs ARRAY_SIZE() bug
published 2024-06-19 2 y ago modified 2026-10-15 25 d ago also EUVD-2024-37450
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
speakup: Fix sizeof() vs ARRAY_SIZE() bug
The "buf" pointer is an array of u16 values. This code should be using ARRAY_SIZE() (which is 256) instead of sizeof() (which is 512), otherwise it can the still got out of bounds.
Patch / fix
- Linux Linux 4.19.316, 5.4.278, 5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.8.12, 6.9.3, 6.10
- Siemens RUGGEDCOM RST2428P V3.1
- Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family V3.1
- Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem V1.1.1
- linux Debian 12 6.1.94-1
- linux Debian 14, Debian 13 6.8.12-1
debian advisories DEBIAN-CVE-2024-38587
- linux Ubuntu 20.04 LTS 5.4.0-192.212
- linux Ubuntu 22.04 LTS 5.15.0-121.131
- linux Ubuntu 24.04 LTS 6.8.0-40.40
- linux-aws Ubuntu 20.04 LTS 5.4.0-1130.140
- linux-aws Ubuntu 22.04 LTS 5.15.0-1069.75
- linux-aws Ubuntu 24.04 LTS 6.8.0-1013.14
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1134.143
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1068.76
ubuntu advisories UBUNTU-CVE-2024-38587
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.0 6.4.0-9.1
- kernel-source-rt Linux Micro 6.0 6.4.0-9.1
- kernel-source Linux Micro 6.0 6.4.0-18.1
- kernel-default Linux Micro 6.0 6.4.0-18.1
- kernel-kvmsmall Linux Micro 6.0 6.4.0-18.1
- kernel-default-base Linux Micro 6.0 6.4.0-17.1.1.51
- kernel-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.5.1
- kernel-syms-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.5.1
suse advisories SUSE-SU-2025:20028-1SUSE-SU-2025:20008-1SUSE-SU-2024:2973-1SUSE-SU-2024:2939-1SUSE-SU-2024:2896-1SUSE-SU-2024:2571-1
- git.kernel.org/stable/c/42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358 commit
- git.kernel.org/stable/c/cd7f3978c2ec741aedd1d860b2adb227314cf996 commit
- git.kernel.org/stable/c/07ef95cc7a579731198c93beed281e3a79a0e586 commit
- git.kernel.org/stable/c/504178fb7d9f6cdb0496d5491efb05f45597e535 commit
- git.kernel.org/stable/c/3726f75a1ccc16cd335c0ccfad1d92ee08ecba5e commit
- git.kernel.org/stable/c/c6e1650cf5df1bd6638eeee231a683ef30c7d4eb commit
- git.kernel.org/stable/c/eb1ea64328d4cc7d7a912c563f8523d5259716ef commit
- git.kernel.org/stable/c/d52c04474feac8e305814a5228e622afe481b2ef commit
- git.kernel.org/stable/c/008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-38587 updated cvss 5.5
kernel: speakup: Fix sizeof() vs ARRAY_SIZE() bug
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-24-102-01 updated cvss 5.3
Siemens SIMATIC S7-1500 TM MFP
-
Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystemaffected: mitigation, no fix available
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
cisa ICSA-25-226-15 updated cvss 5.3
Siemens SINEC OS
-
Siemens RUGGEDCOM RST2428P (6GK6242-6PA00) < 3.1 Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family < 3.1affected: fixed in V3.1 support.industry.siemens.com
-
Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 familynot affected
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.79% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CISA ADP | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected products
- Linux Linux
- Siemens RUGGEDCOM RST2428P
- Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family
- Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family
- Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem
Classification
- Weakness
-
- CWE-129 Improper Validation of Array Index
- Technology feeds
References
-
git.kernel.org
/stable/c/42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358
patch
-
git.kernel.org
/stable/c/cd7f3978c2ec741aedd1d860b2adb227314cf996
patch
-
git.kernel.org
/stable/c/07ef95cc7a579731198c93beed281e3a79a0e586
patch
-
git.kernel.org
/stable/c/504178fb7d9f6cdb0496d5491efb05f45597e535
patch
-
git.kernel.org
/stable/c/3726f75a1ccc16cd335c0ccfad1d92ee08ecba5e
patch
-
git.kernel.org
/stable/c/c6e1650cf5df1bd6638eeee231a683ef30c7d4eb
patch
-
git.kernel.org
/stable/c/eb1ea64328d4cc7d7a912c563f8523d5259716ef
patch
-
git.kernel.org
/stable/c/d52c04474feac8e305814a5228e622afe481b2ef
patch
-
git.kernel.org
/stable/c/008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b
patch
- lists.debian.org /debian-lts-announce/2024/06/msg00020.html
- cert-portal.siemens.com /productcert/html/ssa-265688.html
- cert-portal.siemens.com /productcert/html/ssa-613116.html
Sources
- CVE List CVE-2024-38587
- NVD CVE-2024-38587
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.