Katalog CVE

CVE-2025-29923

NiskieCVSS 3.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Podwyższone ryzyko
0.72%

Percentyl 52 - wyżej niż 52% wszystkich znanych CVE

Streszczenie

go-redis, oficjalna biblioteka klienta Redis dla języka Go, przed wersjami 9.5.5, 9.6.3 i 9.7.2 może odpowiadać w nieprawidłowej kolejności, gdy `CLIENT SETINFO` przekroczy limit czasu podczas nawiązywania połączenia. Może to wystąpić, gdy klient jest skonfigurowany do przesyłania swojej tożsamości, występują problemy z łącznością sieciową lub klient ma agresywne limity czasu. Problem dotyczy wielu przypadków użycia. Dla połączeń stałych otrzymujesz trwałe odpowiedzi w nieprawidłowej kolejności przez cały czas życia połączenia. Wszystkie polecenia w potoku otrzymują nieprawidłowe odpowiedzi. Przy użyciu domyślnego ConnPool, po zwróceniu połączenia po użyciu przez ConnPool#Put, bufor odczytu jest sprawdzany i połączenie jest oznaczane jako złe z powodu nieprzeczytanych danych. Oznacza to, że co najwyżej jedna odpowiedź w nieprawidłowej kolejności przed odrzuceniem połączenia. Problem został naprawiony w wersjach 9.5.5, 9.6.3 i 9.7.2; jednak 9.7.2 został wycofany, a 9.7.3 jest najniższą dostępną wersją z poprawką w gałęzi 9.7.x. Obejściem jest ustawienie flagi `DisableIndentity` na `true` podczas tworzenia instancji klienta.

Ocena ryzyka

Nieprawidłowa kolejność odpowiedzi może prowadzić do błędów w logice aplikacji, potencjalnie powodując nieprawidłowe przetwarzanie danych lub naruszenie integralności operacji Redis.

Rekomendacja

Zaktualizuj go-redis do wersji 9.5.5, 9.6.3 lub 9.7.3 (lub nowszej) albo ustaw flagę `DisableIndentity` na `true` jako obejście.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

go-redis is the official Redis client library for the Go programming language. Prior to 9.5.5, 9.6.3, and 9.7.2, go-redis potentially responds out of order when `CLIENT SETINFO` times out during connection establishment. This can happen when the client is configured to transmit its identity, there are network connectivity issues, or the client was configured with aggressive timeouts. The problem occurs for multiple use cases. For sticky connections, you receive persistent out-of-order responses for the lifetime of the connection. All commands in the pipeline receive incorrect responses. When used with the default ConnPool once a connection is returned after use with ConnPool#Put the read buffer will be checked and the connection will be marked as bad due to the unread data. This means that at most one out-of-order response before the connection is discarded. This issue is fixed in 9.5.5, 9.6.3, and 9.7.2; however, 9.7.2 has been yanked and 9.7.3 is the lowest available patched version on the 9.7.x branch. As a workaround, set the flag `DisableIndentity` to `true` when constructing the client instance.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS