GoFretch is a vulnerability that allows attackers to gain access to confidential user data.

A group of American researchers has discovered a vulnerability in Apple M1, M2 and M3 processors. They called it GoFetch - go and fetch it. This vulnerability allows attackers to guess encryption keys by observing changes in the cache - and, in theory, gain access to some sensitive user data.
Unlike most vulnerabilities, this one cannot be completely eliminated: it was not found in Apple programs, but in the M-series processors themselves of all three generations.
The problem is based on the DMP (Data Memory-dependent Prefetcher) data preloading mechanism. It ensures that data is loaded into memory before it is needed.
The researchers were able to make DMP work as an “indicator”: cache data at the moment when they manage to guess a fragment of the cryptographic key. Searching for encryption keys can take millions or even billions of years, but with such a “hint” it takes much less time - that is, it is a doable task.
It is important to understand: the resources of your device - computer, smartphone, tablet or even smart watch - are divided between many programs running simultaneously. This includes the division of RAM, in which programs store the data they need during operation.
To prevent one program from stealing data from the memory of another, multitasking devices use various memory protection methods.
Malware authors have to find ways to bypass this protection. The method used in GoFetch is a side-channel attack.
Let's say you're a detective and you need to find a kidnapper who called his victim's family and demanded a ransom. On the recording of the call, you can hear that a train is leaving outside his window. So he's hiding somewhere near the train station. The criminal himself did not tell you where to look for him - but you managed to find out by observing third-party phenomena.
Side-channel attacks work in a similar way: attackers obtain the data they need by observing measurable side effects of software and hardware, such as cache changes. This is exactly how GoFetch works.
Yes. In practice, the GoFetch authors were able to crack only 4 algorithms: DHKX in the OpenSSL library, RSA in the standard Go language library, and post-quantum algorithms Kyber and Dilithium in the CRYSTALS library.
It's possible that other algorithms are susceptible to this vulnerability, but the developers offer several protections that crypto software developers can use to help secure their products. For example, on some processor models you can disable DMP while working with cryptography.
The main advice that the GoFetch authors give is to regularly install updates and use the latest versions of programs and operating systems.
Update reminders can be annoying, but they're still worth installing: they often contain fixes for known vulnerabilities.