CVE-2026-45799
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 54 - wyżej niż 54% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece Wire (gRPC/protobuf) dla Androida, Kotlina, Swifta i Javy. W wersjach przed 6.3.0 i 7.0.0-alpha03, metody skipGroup() nie sprawdzają, czy długość pola LENGTH_DELIMITED jest nieujemna, co może prowadzić do ArrayIndexOutOfBoundsException i awarii usług dekodujących niezaufane dane.
Ocena ryzyka
Ryzyko awarii usług używających Wire do dekodowania protobuf z niezaufanych źródeł, co może prowadzić do przerwania działania aplikacji.
Rekomendacja
Zaktualizuj bibliotekę Wire do wersji 6.3.0 lub 7.0.0-alpha03. Unikaj dekodowania niezaufanych danych protobuf bez walidacji.
Inne podatności w Wire
Zobacz wszystkie- CVE-2026-61695Wysokie
Wire, biblioteka gRPC i protobuf dla Swift, w wersjach przed 6.4.1 i 7.0.0-alpha04 ma błąd w ProtoReader.skipGroup, który akceptuje ujemną długość dla pola LENGTH_DELIMITED wewnątrz nieznanego pola START_GROUP. Prowadzi to do nieodwracalnego zatrzymania procesu Swift podczas dekodowania niezaufanych danych protobuf, bez uwierzytelnienia i interakcji użytkownika.
- CVE-2026-63126Wysokie
Biblioteka Wire (gRPC/protobuf dla Androida, Kotlina, Swifta i Javy) w wersjach przed 6.4.5 oraz 7.0.0-alpha04 nie waliduje spójnie długości kontrolowanych przez atakującego względem bieżącej granicy logicznej komunikatu protobuf. W Kotlinie ścieżki dekodowania (m.in. ProtoAdapter.decode, internalNextLengthDelimited, ReadBuffer.readVarint, ProtoDecoder.decodeSizeDelimited) mogą wykroczyć poza granice logiczne, wykonać arytmetykę na wskaźnikach lub zarezerwować nadmierną pamięć. Atakujący dostarczający zniekształcone bajty protobuf może wywołać niekontrolowane wyjątki, pułapki, zachowania poza zakresem lub nadmierną alokację, prowadząc do odmowy usługi.
Oryginalny opis (angielski, źródło NVD)
Wire provides gRPC and protocol buffers for Android, Kotlin, Swift, and Java. Prior to 6.3.0 and 7.0.0-alpha03, ByteArrayProtoReader32.skipGroup() and ProtoReader.skipGroup() in wire-runtime do not validate that a LENGTH_DELIMITED field length is non-negative before skip(), allowing a crafted protobuf varint encoding -128 as a signed Int to make skip(-128) move the internal position negative and make the next readByte() throw ArrayIndexOutOfBoundsException instead of the documented IOException or ProtocolException, which can crash services using ProtoAdapter.decode(byte[]) on untrusted payloads. This issue is fixed in versions 6.3.0 and 7.0.0-alpha03.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

