Katalog CVE

CVE-2026-64678

KrytyczneCVSS 9.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W bazie Nitrite (NO2) przed wersją 4.4.1 funkcja MVStoreUtils.openOrCreate() automatycznie wykrywa starszy format v1 i uruchamia migrację, która deserializuje wartości przez java.io.ObjectInputStream.readObject() bez listy dozwolonych klas ani ObjectInputFilter. Każda klasa Serializable dostępna na classpath aplikacji może zostać utworzona, co przy obecności odpowiedniej klasy gadget (np. z commons-collections) stanowi warunek wstępny zdalnego wykonania kodu.

Ocena ryzyka

Otwarcie spreparowanego pliku bazy danych może doprowadzić do zdalnego wykonania kodu w kontekście aplikacji osadzającej Nitrite. Ryzyko jest wysokie, jeśli na classpath znajdują się znane klasy gadget.

Rekomendacja

Zaktualizuj Nitrite do wersji 4.4.1 lub nowszej. Unikaj otwierania niezaufanych plików bazy danych oraz ogranicz klasy dostępne na classpath.

Powiązane podatności

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

NOsql Object (NO2 a.k.a Nitrite) database is an open source nosql embedded document store. Prior to version 4.4.1, when Nitrite opens a database file, MVStoreUtils.openOrCreate() automatically checks for a legacy v1-format store and, on detecting one (or hitting a compatibility error while opening), triggers an automatic migration path. This path deserializes stored values using NitriteDataType.deserialize(byte[]), which passes the raw bytes directly to java.io.ObjectInputStream.readObject() via a custom NitriteObjectInputStream subclass. That subclass overrides only readClassDescriptor() — solely to remap a handful of known legacy class names to their current equivalents — and implements no class allowlist, blocklist, or ObjectInputFilter (JEP 290). Any Serializable class reachable on the embedding application's classpath can therefore be instantiated via readObject(), with readObject()/readExternal()/readResolve() callbacks invoked unconditionally. If a suitable gadget class (e.g. from commons-collections or similar) happens to be present on the classpath, this is a precondition for remote code execution. This issue has been patched in version 4.4.1.

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