CVE-2026-47881
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS na zadania wsadowe, co może prowadzić do przerw w przetwarzaniu danych i wyczerpania zasobów.
Rekomendacja
Zaleca się aktualizację Spring Batch do najnowszej dostępnej wersji oraz walidację plików wejściowych pod kątem złośliwej struktury.
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-47878Średnie
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.
- 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)
Spring Batch's FlatFileItemReader supports files where a single logical record spans multiple physical lines — for example, a CSV field that contains embedded newlines wrapped in quotes. A specially crafted input file could exploit the way the reader assembles those multi-line records to consume excessive CPU time and memory, causing the batch job to stall or run out of memory. Spring Batch 6.0.0 - 6.0.4 Spring Batch 5.2.0 - 5.2.6 Spring Batch 4.3.0 - 4.3.13
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

