CVE-2026-82425
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Osiągalna asercja w Apache bRPC (wersja < 1.18.0) na wszystkich platformach umożliwia złośliwemu zdalnemu partnerowi zawieszenie procesu, co skutkuje odmową usługi.
Główna przyczyna:
Gdy gniazdo z włączoną funkcją sprawdzania stanu nie powiedzie się, Socket::WaitAndReset zamyka swój deskryptor pliku, podczas gdy program rozsyłający zdarzenia może nadal dostarczać zdarzenie wejściowe (EPOLLIN/EVFILT_READ), które zostało pobrane dla właśnie zamkniętego fd. Jeśli następnie sprawdzenie stanu zakończy się pomyślnie i wznowi działanie Socket, Socket::Address powiedzie się ponownie, podczas gdy fd nadal wynosi -1 (następny zapis ponownie łączy się na żądanie). W tym oknie Socket::OnInputEvent trafia CHECK(!(events & EPOLLIN)) (lub odpowiednik kqueue), ponieważ Socket jest adresowalny, ale nie ma fd. Błędy CHECK kończą proces, gdy bRPC jest zbudowane przy użyciu glog lub gdy włączona jest opcja gflag -crash_on_fatal_log (CHECK zawsze kończy się również w kompilacjach OFFICIAL_BUILD/NDEBUG).
Dotknięte scenariusze:
Aplikacje korzystające z klientów bRPC z włączoną kontrolą stanu (-health_check_interval). Złośliwy zdalny element równorzędny, z którym łączy się klient, może celowo przerwać połączenia i natychmiast zaakceptować próby sprawdzania stanu, przyspieszając przerwanie połączenia przed ponownym przywróceniem kontroli stanu, aby wyzwolić potwierdzenie i przerwać proces.
Jak naprawić:
(Wybierz jedną z poniższych opcji)
1. Zaktualizuj bRPC do wersji 1.18.0, która rozwiązuje ten problem.
2. Zastosuj tę poprawkę: https://github.com/apache/brpc/pull/3510
Uwaga:
Po zastosowaniu poprawki nieaktualne zdarzenia wejściowe w gnieździe przywróconym bez fd są dyskretnie usuwane zamiast wyzwalać potwierdzenie. Żaden interfejs widoczny dla użytkownika ani protokół przewodowy nie są zmieniane.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org