Firma AMD potwierdziła lukę w zabezpieczeniach instrukcji RDSEED w swoich procesorach opartych na Zen 5, oznaczoną jako AMD-SB-7055który generuje potencjalnie przewidywalne klucze kryptograficzne. Problem dotyczy procesorów serwerowych i konsumenckich, powodując wprowadzenie środków zaradczych w postaci aktualizacji oprogramowania sprzętowego rozpoczynających się 25 listopada. Luka powoduje, że instrukcja RDSEED zwraca wartość zero w sposób nierandomizowany, jednocześnie błędnie wskazując systemowi powodzenie. Ta awaria wpływa na 16-bitowe i 32-bitowe formaty instrukcji, ale według oceny AMD nie ma to wpływu na wersję 64-bitową. RDSEED służy jako sprzętowy generator liczb losowych na nowoczesnych procesorach, w tym na procesorach AMD i Intel. Zbiera entropię ze źródeł środowiskowych, aby wytworzyć nieprzewidywalne wzorce bitowe przechowywane w rejestrach procesora, niezbędne do generowania bezpiecznych kluczy kryptograficznych w różnych aplikacjach. W przeciwieństwie do tego powiązana instrukcja RDRAND działa jako szybszy deterministyczny generator liczb losowych, tworząc wzorce, które mogą wykazywać większą przewidywalność w porównaniu z wynikami RDSEED opartymi na entropii. Aplikacje korzystające z losowości RDSEED są narażone na ryzyko w przypadku niepowodzenia instrukcji, ponieważ przewidywalne dane wyjściowe mogą umożliwić atakującym złamanie szyfrowania poprzez przewidywanie wzorców kluczy pochodzących od zer. Inżynier Meta jako pierwszy zidentyfikował usterkę i zgłosił ją na liście mailingowej jądra Linuksa, a Phoronix opublikował ogłoszenie w połowie października. Odkrycie polegało na niezawodnym odtworzeniu problemu za pomocą specjalnego testu: jeden wątek procesora wielokrotnie wykonywał instrukcję RDSEED, podczas gdy inny wątek zużywał około 90 procent dostępnej pamięci. Taka konfiguracja uwypukliła konsekwentny powrót instrukcji do wartości zerowych w warunkach stresowych. W następstwie tego raportu programiści kilka dni później wypuścili łatkę na jądro Linuksa, która całkowicie wyłącza instrukcję RDSEED na wszystkich chipach Zen 5, zapobiegając potencjalnemu wykorzystaniu luki. Dzięki temu rozwiązaniu systemy korzystające z Linuksa unikną błędnego generowania liczb losowych do czasu zastosowania poprawek na poziomie sprzętowym. Problem przypomina wcześniejszy incydent z procesorami APU opartymi na Zen 2 firmy AMD, o nazwie kodowej Cyan Skillfish, w których wystąpiła podobna, ale wyraźna awaria RDSEED. W takim przypadku społeczność Linuksa zareagowała, wyłączając funkcję RDSEED na tych procesorach, aby zachować bezpieczeństwo. Dlatego architektura Zen firmy AMD napotykała powtarzające się wyzwania związane z funkcją generowania liczb losowych na przestrzeni pokoleń. Firma AMD wdrożyła już rozwiązania łagodzące dla swoich procesorów serwerowych EPYC 9005, które wykorzystują architekturę Zen 5. W przypadku konsumenckich produktów Zen 5, w tym procesorów do komputerów stacjonarnych z serii Ryzen 9000, serii AI Max 300, wysokiej klasy chipów do komputerów stacjonarnych z serii Threadripper 9000 i procesorów mobilnych z serii Ryzen Z2, aktualizacje zaplanowano na 25 listopada. Dodatkowe rozwiązania zaradcze zostaną wprowadzone do stycznia 2026 r., różniące się w zależności od konkretnego trybu pracy procesora, aby kompleksowo rozwiązać problem. Aby usunąć lukę na poziomie oprogramowania układowego, AMD planuje wkrótce udostępnić aktualizacje mikrokodu AGESA, mające zastosowanie do wszystkich procesorów Zen 5. Te aktualizacje bezpośrednio poprawią zachowanie RDSEED. W okresie przejściowym, zanim aktualizacje te dotrą do poszczególnych systemów, AMD zaleca użytkownikom, aby w miarę możliwości korzystali z nienaruszonego 64-bitowego formatu RDSEED lub wdrażali oparte na oprogramowaniu mechanizmy awaryjnego generowania liczb losowych.





