Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
PoCПатч
Опубликована

CVE-2026-93477

Private action arguments can be set by user input on the bulk destroy and bulk update paths in Ash

Публикация: 25.09.2026·Обновлена: 25.09.2026, 16:26·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerability in ash-project ash allows a user to set the value of a private action argument on the bulk destroy and bulk update paths. Action arguments declared with public?: false are meant to be set only by trusted server-side code (for example via Ash.Changeset.set_private_argument/3) and must not be settable from end-user input. CVE-2026-55736 fixed the non-bulk changeset path to strip private arguments from user-supplied parameter maps, but the bulk destroy and bulk update paths were not covered. Ash.Actions.Destroy.Bulk.base_changeset/5 and Ash.Actions.Update.Bulk.base_changeset/5 match every key in the caller-supplied parameter map against all of the action's arguments with no public? check, then apply the matches to the base changeset. A caller who can submit parameters to a bulk destroy or bulk update action (for example through AshJsonApi, AshGraphql, or a controller that forwards request parameters to Ash.bulk_destroy/4 or Ash.bulk_update/4) can therefore set any private argument of that action, including one referenced by an arg(...) template in the action's changes or validations. Depending on how the application uses the argument (for example an acting_user_id driving authorization or record ownership, or audit metadata), this can lead to an integrity violation or privilege escalation. The fix requires public? in the argument matching on both bulk paths; private arguments remain settable server-side via the :private_arguments option. This issue affects ash: from 2.17.15 before 3.33.11.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.

Общая рекомендация, не из бюллетеня вендора

4. Проверьте следы эксплуатации

Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

ash-project / ash

{
  "status": "affected",
  "version": "2.17.15",
  "lessThan": "3.33.11",
  "versionType": "semver"
}
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*

ash-project / ash

{
  "status": "affected",
  "version": "8c17434803b2e91de522bdfbd0ca918e5d5898df",
  "lessThan": "6b7ac53a0a2532291eb940d7beaf0fbb2da6fc4f",
  "versionType": "git"
}
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*

CVSS: оценки и векторы

CVSS 4.0 · cve5.9
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системынет
VI · Целостность уязвимой системывысокое
VA · Доступность уязвимой системынет
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет

Источники и ссылки

Происхождение полей
{
  "cwes": [
    "cve"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-04T21:21:15.301216+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-28T20:17:16.254009+00:00"
  },
  "scores": [
    "cve"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-28T20:17:16.254009+00:00"
  },
  "affected": [
    "cve"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-28T20:17:16.254009+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-04T21:21:15.301216+00:00"
  },
  "references": [
    "cve"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-28T20:17:16.254009+00:00"
  },
  "workarounds": [],
  "configurations": []
}

Хронология записи

  1. Данные обновлены05.11.2026, 00:21
  2. Данные обновлены04.11.2026, 00:15
  3. Данные обновлены03.11.2026, 00:15
  4. Данные обновлены02.11.2026, 00:13
  5. Данные обновлены31.10.2026, 12:00
  6. Данные обновлены29.10.2026, 12:46
  7. Появилась ссылка на PoC28.10.2026, 23:17

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-96581
An upsert on the primary key in Ash ignores attribute multitenancy, so one tenant can read, overwrite and take over another tenant's records
ash-project / ash
Высокий7.6
0,26 %
Патч
26.10.2026
CVE-2026-114214
Loading a through relationship with a limit of 1 in Ash ignores the through path and returns unrelated destination records
ash-project / ash
Средний6.0
0,25 %
Патч
25.10.2026
CVE-2026-101028
Ash.count, Ash.exists and Ash.aggregate skip related resources' read policies in filters and sorts
ash-project / ash
Высокий6.0
0,34 %
PoCПатч
09.10.2026
CVE-2026-94201
Filtering an :atom attribute with unsafe_to_atom? can exhaust the BEAM atom table in Ash
ash-project / ash
Высокий8.2
0,3 %
Патч
05.10.2026
CVE-2025-48043
Bypass and runtime policies that can never pass may be incorrectly applied in filter authorization
ash-project / ash
Высокий8.6
0,4 %
Патч
10.10.2025