CVE-2026-73499
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
etcd to rozproszony magazyn klucz-wartość dla danych systemów rozproszonych. Przed wersjami 3.5.33, 3.6.14 i 3.7.1, użytkownik z uprawnieniami READ do pojedynczego klucza może użyć interfejsu Watch gRPC z clientv3.WithFromKey(), aby otrzymywać zdarzenia watch dla każdego klucza leksykograficznie większego lub równego dozwolonemu kluczowi. W server/etcdserver/api/v3rpc/watch.go, otwarty znacznik RangeEnd jest przepisywany przed sprawdzeniem uprawnień RBAC w funkcji isRangeOpPermitted w server/auth/range_perm_cache.go, co powoduje, że żądanie jest traktowane jako watch dokładnego klucza. Żądania Range/Get i DeleteRange nie są dotknięte, a problem dotyczy tylko klastrów z włączonym uwierzytelnianiem. Problem naprawiono w wersjach 3.5.33, 3.6.14 i 3.7.1.
Ocena ryzyka
Ryzyko polega na eskalacji uprawnień, gdzie użytkownik z ograniczonym dostępem do pojedynczego klucza może monitorować zmiany w szerszym zakresie danych, co może prowadzić do nieautoryzowanego ujawnienia informacji.
Rekomendacja
Zaleca się aktualizację etcd do wersji 3.5.33, 3.6.14 lub 3.7.1 (lub nowszej) w celu usunięcia podatności.
Oryginalny opis (angielski, źródło NVD)
etcd is a distributed key-value store for the data of a distributed system. Prior to versions 3.5.33, 3.6.14, and 3.7.1, a user granted READ permission on a single exact key can use the Watch gRPC API with clientv3.WithFromKey() to receive watch events for every key lexicographically greater than or equal to the permitted key. In server/etcdserver/api/v3rpc/watch.go, the open-ended RangeEnd sentinel is rewritten before the RBAC permission check in server/auth/range_perm_cache.go function isRangeOpPermitted, causing the request to be treated as an exact-key watch. Range/Get and DeleteRange requests are not affected, and the issue affects only clusters with authentication enabled. This issue is fixed in versions 3.5.33, 3.6.14, and 3.7.1.

