GoFetch vulnerability

The GoFetch vulnerability is a critical security flaw affecting Apple M-series CPUs. Here are the key details:

  1. Nature of the Vulnerability:
    • GoFetch targets the data memory-dependent prefetcher (DMP) in Apple M-series chips.
    • It allows attackers to extract secret encryption keys from Macs.
  2. Microarchitecture Design Basis:
    • The flaw is based on the microarchitecture design of Apple Silicon.
    • Unfortunately, it cannot be directly patched due to its hardware-based nature.
  3. Affected Devices:
    • The vulnerability impacts all Apple devices powered by M-series chips, including the popular M1 and M2 generations.
    • The newer M3 generation can disable DMP to mitigate the risk, albeit potentially affecting performance.
  4. Exploitation Mechanism:
    • The DMP, designed to optimize performance, violates a fundamental requirement of constant-time programming by mixing data and memory access patterns.
    • Attackers exploit this by crafting specific inputs for cryptographic operations, ensuring that pointer-like values appear only when they’ve correctly guessed bits of the secret key.
    • Through cache-timing analysis, attackers verify their guesses and gradually extract the entire secret key.
  5. Mitigation and Impact:
    • Since it’s a hardware flaw, Apple cannot directly patch it.
    • Third-party cryptographic software developers must build defenses into their applications.
    • However, these mitigations may impact M-series chip performance during cryptographic operations.
  6. Recommendations:
    • Mac users should exercise caution with untrusted applications and keep their systems updated with the latest security patches.

Remember that exploiting this vulnerability requires physical access to the targeted system.

See more details on GoFetch website.