ALT-32 · Paper · 23 Oct 2026

GoFetch: when the prefetcher reads your keys

Apple's M-series chips include a prefetcher that looks at data values to guess which memory you'll need next. In 2024 researchers used it to extract keys from constant-time cryptography.

Timeline
  1. Dec 2023Researchers notify Apple.
  2. 21 Mar 2024GoFetch published; to appear at USENIX Security 2024.

How it worked

Constant-time code avoids secret-dependent branches and addresses. But if a secret intermediate value happens to look like a pointer, the DMP dereferences it — and the resulting cache activity is observable. By choosing inputs, an attacker makes secret-dependent values look like pointers and watches.

Why it mattered

Hardware cannot simply be patched. On M3 chips software can disable the DMP during cryptographic operations; on earlier chips, mitigations must live in the cryptographic code itself.

Our reading

Analysis — Altumptic's interpretation of the sources below.

  • “Constant-time” is a contract with the hardware, and hardware can change the terms.
  • Performance features that look at data values are side channels by construction.
  • Cryptographic libraries need hardware-specific hardening, not just portable code.

What it means for you

  1. Keep cryptographic libraries current; they ship hardware-specific mitigations.
  2. Run sensitive key operations on cores or machines not shared with untrusted code.
  3. Follow vendor guidance on toggling data-dependent prefetching where supported.

Sources

  1. GoFetch — gofetch.fail

Altumptic was not involved in this research. Figures are as published by the sources above.

Cite this entry

Altumptic Lab (2026). ALT-32 — GoFetch: when the prefetcher reads your keys. 23 Oct 2026. altumptic.com/research/gofetch-2024