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

CVE-2024-22424: Cross-Site Request Forgery (CSRF) in github.com/argoproj/argo-cd

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 33/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,48% (FIRST EPSS).
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Пользователь должен открыть ссылку или посетить страницу. Требуются особые условия, например определённое время или конфигурация.
  • Исправленная версия: github.com/argoproj/argo-cd/v2 (Go) 2.10-rc2, 2.8.8, 2.9.4.

Пока низкий приоритет. Обновитесь до github.com/argoproj/argo-cd/v2 (Go) 2.10-rc2, 2.8.8, 2.9.4 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. The Argo CD API prior to versions 2.10-rc2, 2.9.4, 2.8.8, and 2.7.15 are vulnerable to a cross-server request forgery (CSRF) attack when the attacker has the ability to write HTML to a page on the same parent domain as Argo CD. A CSRF attack works by tricking an authenticated Argo CD user into loading a web page which contains code to call Argo CD API endpoints on the victim’s behalf. For example, an attacker could send an Argo CD user a link to a page which looks harmless but in the background calls an Argo CD API endpoint to create an application running malicious code. Argo CD uses the “Lax” SameSite cookie policy to prevent CSRF attacks where the attacker controls an external domain. The malicious external website can attempt to call the Argo CD API, but the web browser will refuse to send the Argo CD auth token with the request. Many companies host Argo CD on an internal subdomain. If an attacker can place malicious code on, for example, https://test.internal.example.com/, they can still perform a CSRF attack. In this case, the “Lax” SameSite cookie does not prevent the browser from sending the auth cookie, because the destination is a parent domain of the Argo CD API. Browsers generally block such attacks by applying CORS policies to sensitive requests with sensitive content types. Specifically, browsers will send a “preflight request” for POSTs with content type “application/json” asking the destination API “are you allowed to accept requests from my domain?” If the destination API does not answer “yes,” the browser will block the request. Before the patched versions, Argo CD did not validate that requests contained the correct content type header. So an attacker could bypass the browser’s CORS check by setting the content type to something which is considered “not sensitive” such as “text/plain.” The browser wouldn’t send the preflight request, and Argo CD would happily accept the contents (which are actually still JSON) and perform the requested action (such as running malicious code). A patch for this vulnerability has been released in the following Argo CD versions: 2.10-rc2, 2.9.4, 2.8.8, and 2.7.15. The patch contains a breaking API change. The Argo CD API will no longer accept non-GET requests which do not specify application/json as their Content-Type. The accepted content types list is configurable, and it is possible (but discouraged) to disable the content type check completely. Users are advised to upgrade. There are no known workarounds for this vulnerability.

ВысокаяCVSS 8.3 · v3.1—Эксплойта нет Есть исправление
Опубликовано
18 янв. 2024 г.
Обновлено
17 июн. 2026 г.
EPSS
0,4 % · 41-й процентиль

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

JSON

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

33

Наблюдать

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

CVSS
33 / 40 · 8.3 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,4 %

Решение CISA SSVC

Эксплуатация
proof of concept
Автоматизируемо
нет
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
8,3
CNA · GitHub_M
8,4
разница 0,1 балла

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

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2024-22424

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

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

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

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
argoprojargo cd
linuxfoundationargo-cd

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

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

  • argoproj argo cd2.8.0 и новее · до 2.8.8
  • argoproj argo cd2.9.0 и новее · до 2.9.4
  • argoproj argo cd2.10.0
  • linuxfoundation argo-cd0.1.0 и новее · до 2.7.16

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

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

  • argoproj argo-cd

    • >= 0.1.0, < 2.7.15, >= 2.8.0, < 2.8.8, >= 2.9.0, < 2.9.4, >= 2.10.0-rc1, < 2.10-rc2затронута

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
Gogithub.com/argoproj/argo-cdс 0.1.0 · до 1.8.7 включительно—
Gogithub.com/argoproj/argo-cd/v2с 2.10.0-rc1 · до 2.10-rc22.10-rc2
Gogithub.com/argoproj/argo-cd/v2с 2.8.0-rc1 · до 2.8.82.8.8
Gogithub.com/argoproj/argo-cd/v2с 2.9.0-rc1 · до 2.9.42.9.4
Gogithub.com/argoproj/argo-cd/v2до 2.7.162.7.16

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

argoproj: все записи

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

  • CVE-2025-55190Argo CD: Project API Token Exposes Repository Credentials
    41В плане
  • CVE-2022-29165Argo CD will blindly trust JWT claims if anonymous access is enabled
    41В плане
  • CVE-2024-21652Argo CD vulnerable to Bypassing of Brute Force Protection via Application Crash and In-Memory Data Loss
    39Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2023-405847 сент. 2023 г. · Denial of Service to Argo CD repo-server
    26Наблюдать
  • ← РаньшеCVE-2023-4002627 сент. 2023 г. · Path traversal allows leaking out-of-bound Helm charts from Argo CD repo-server
    17Наблюдать
  • Позже →CVE-2023-5072613 мар. 2024 г. · Users with `create` but not `override` privileges can perform local sync in argo-cd
    25Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
Go:github.com/argoproj/argo-cd/v22.10-rc2Реестр пакетов (OSV)
Go:github.com/argoproj/argo-cd/v22.7.16Реестр пакетов (OSV)
Go:github.com/argoproj/argo-cd/v22.8.8Реестр пакетов (OSV)
Go:github.com/argoproj/argo-cd/v22.9.4Реестр пакетов (OSV)

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

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

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

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

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

Хронология

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

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

Истории пока нет (накапливается ежедневным заданием EPSS).

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

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

Нашедшие, сообщившие и аналитики, названные в записи 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:H/PR:N/UI:R/S:C/C:H/I:H/A:H

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.

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

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

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

Источники

Показать все источники (ещё 1)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи