Перейти к содержимому
Noroxi
CVE-2020-5397· NVD / CVE Program· CNA pivotal

CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux

Spring Framework, versions 5.2.x prior to 5.2.3 are vulnerable to CSRF attacks through CORS preflight requests that target Spring MVC (spring-webmvc module) or Spring WebFlux (spring-webflux module) endpoints. Only non-authenticated endpoints are vulnerable because preflight requests should not include credentials and therefore requests should fail authentication. However a notable exception to this are Chrome based browsers when using client certificates for authentication since Chrome sends TLS client certificates in CORS preflight requests in violation of spec requirements. No HTTP body can be sent or received as a result of this attack.

СредняяCVSS 5.3 · v3.1—Эксплойта нет Есть исправление
Опубликовано
17 янв. 2020 г.
Обновлено
16 июн. 2026 г.
EPSS
2,4 % · 84-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

22

Наблюдать

Пока низкий приоритет.

CVSS
21 / 40 · 5.3 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
1 / 30 · 2,4 %

Оценка CNA и NVD

NVD
5,3
CNA · pivotal
5,3
совпадают

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Затронутые системы

ВендорПродукт
vmwarespring framework
oracleapplication testing suite
oraclecommunications brm - elastic charging engine
oraclecommunications diameter signaling router
oraclecommunications element manager
oraclecommunications policy management
oraclecommunications session route manager
oracleenterprise manager base platform
oraclefinancial services regulatory reporting with agilereporter
oracleflexcube private banking
oraclehealthcare master person index
oracleinsurance calculation engine

и ещё 15

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • oracle application testing suite13.3.0.1
  • oracle communications brm - elastic charging engine11.3
  • oracle communications brm - elastic charging engine12.0
  • oracle communications diameter signaling router8.0.0 и новее · до 8.2.2 включительно
  • oracle communications element manager8.1.1
  • oracle communications element manager8.2.0
  • oracle communications element manager8.2.1
  • oracle communications policy management12.5.0
  • oracle communications session route manager8.1.1
  • oracle communications session route manager8.2.0
  • oracle communications session route manager8.2.1
  • oracle enterprise manager base platform13.2.1.0
  • oracle financial services regulatory reporting with agilereporter8.0.9.2.0
  • oracle flexcube private banking12.0.0
  • oracle flexcube private banking12.1.0
  • oracle healthcare master person index4.0.2
  • oracle insurance calculation engine11.0.0 и новее · до 11.3.1 включительно
  • oracle insurance policy administration j2ee10.2.0
  • oracle insurance policy administration j2ee10.2.4
  • oracle insurance policy administration j2ee11.0.2

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (pivotal). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Spring Spring Framework

    • 5.2 и новее · до v5.2.3.RELEASEзатронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Mavenorg.springframework:spring-webfluxс 5.2.0 · до 5.2.35.2.3
Mavenorg.springframework:spring-webmvcс 5.2.0 · до 5.2.35.2.3

Тот же продукт

vmware: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2022-22965A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding.KEV
    99Срочно
  • CVE-2018-1270Spring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported versions, allow applications to expose
    62На этой неделе
  • CVE-2020-5398RFD Attack via "Content-Disposition" Header Sourced from Request Input by Spring MVC or Spring WebFlux Application
    57В плане
  • CVE-2018-1275Spring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.16 and older unsupported versions, allow applications to expose
    56В плане
  • CVE-2016-1000027Pivotal Spring Framework through 5.3.16 suffers from a potential remote code execution (RCE) issue if used for Java deserialization of untru
    49В плане
  • CVE-2026-59313Server Sent Event stream corruption in Spring MVC functional web framework
    39Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Maven:org.springframework:spring-webflux5.2.3Реестр пакетов (OSV)
Maven:org.springframework:spring-webmvc5.2.3Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
нет
Целостность
низкое · данные или конфигурация могут быть изменены
Доступность
нет
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Нет
Влияние на целостность
Низкое
Влияние на доступность
Нет

Класс уязвимости (CWE)

CWE-352 · Cross-Site Request Forgery (CSRF)

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

nvd-primary

Первопричина

Запросы, изменяющие состояние, опираются на сессионный cookie, который браузер отправляет автоматически; то, что запрос пришёл со страницы самого пользователя, не проверяется.

Ошибка в коде

Весь класс CWE-352

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
app.use(session({ cookie: { httpOnly: true } }));app.post("/account/address", updateAddress);

Исправленный код

ts
app.use(session({ cookie: { httpOnly: true, sameSite: "lax" } }));app.post("/account/address", csrfProtection, updateAddress);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи