CVE-2026-47878
ŚrednieCVSS 5.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
DefaultExecutionContextSerializer, używany domyślnie w JDBC repozytorium zadań Spring Batch, przekazuje zdekodowane bajty Base64 bezpośrednio do ObjectInputStream.readObject() bez filtra wejściowego ograniczającego typy do zaufanej listy dozwolonych klas.
Ocena ryzyka
Osoba atakująca, która może dostarczyć złośliwe dane do repozytorium zadań, może wykorzystać deserializację do wykonania dowolnego kodu w kontekście aplikacji.
Rekomendacja
Zaktualizuj Spring Batch do wersji z poprawką lub skonfiguruj filtr obiektów wejściowych (ObjectInputFilter) ograniczający dozwolone klasy.
Inne podatności w Spring Batch
Zobacz wszystkie- CVE-2019-3774Krytyczne
Spring Batch w wersjach 3.0.9, 4.0.1, 4.1.0 i starszych nieobsługiwanych jest podatny na wstrzykiwanie zewnętrznych encji XML (XXE) podczas przetwarzania danych XML pochodzących z niezaufanych źródeł.
- CVE-2026-47881Średnie
FlatFileItemReader w Spring Batch obsługuje pliki, w których pojedynczy logiczny rekord obejmuje wiele fizycznych linii — na przykład pole CSV zawierające osadzone znaki nowej linii w cudzysłowie. Specjalnie spreparowany plik wejściowy może wykorzystać sposób, w jaki czytnik składa te wieloliniowe rekordy, do zużycia nadmiernej ilości czasu procesora i pamięci, powodując zatrzymanie zadania wsadowego lub wyczerpanie pamięci. Podatność dotyczy Spring Batch w wersjach 6.0.0-6.0.4, 5.2.0-5.2.6 oraz 4.3.0-4.3.13.
- CVE-2026-47875Średnie
Aplikacje deserializujące konteksty wykonania za pomocą Jackson2ExecutionContextStringSerializer są podatne na atak deserializacji, jeśli używają niezaufanego źródła danych dla repozytorium zadań. JobParameterDeserializer nie egzekwuje prawidłowo listy dozwolonych typów, co pozwala atakującemu na stworzenie złośliwego wejścia prowadzącego do wykonania dowolnego kodu, w tym znanych gadżetów RCE Jacksona.
- CVE-2020-5411Wysokie
Jackson, gdy skonfigurowano z domyślnym typowaniem, zawiera podatność na deserializację, która może prowadzić do wykonania dowolnego kodu. Spring Batch, używając Jacksona z globalnym domyślnym typowaniem, może pozwolić na wykonanie kodu, jeśli atakujący ma dostęp zapisu do magazynu danych JobRepository.
Oryginalny opis (angielski, źródło NVD)
DefaultExecutionContextSerializer, used by default in Spring Batch's JDBC job repository, passes Base64-decoded bytes directly to ObjectInputStream.readObject() without an ObjectInputFilter that restricts types to a trusted class allowlist. Spring Batch 6.0.0 - 6.0.4 Spring Batch 5.2.6 and earlier
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

