TGViewer
Makrushin Makrushin @makrushin · 3.87K subscribers
Post #504 1.7K
«Дифференциал парсеров»: как разница в обработке входных данных ведет к уязвимости

Исследование со сложным названием «дифференциал парсеров» несет простую идею: если в системе два и более обработчика (например, JSON или YAML) по-разному обрабатывают одни и те же данные, то жди беды. Автор приводит несколько сценариев атак.

✨ Удаленное выполнение кода в CouchDB. Эта система БД написана на Erlang и использует JavaScript для валидации документов. При получении JSON с дублирующимися параметрами (например, два параметра “roles”) библиотека Erlang превращала их в массив и использовала первое встречное значение. А движок JavaScript брал только последнее значение из этого массива. Атакующий передавал два значения параметра “roles”, JS-движок видел безопасное значение и передавал дальше, а Erlang видел первое значение (_admin) и создавал привилегированную учетную запись.

Сценарий очень напоминает класс уязвимостей HTTP Parameter Pollution, да?

✨ Произвольная запись файлов. Разница парсеров Ruby и Go позволяла редиске обходить фильтр опасных параметров в YAML-файлах. Ruby-часть не фильтровала опасный параметр parent, а вот Go-парсер его видел. Атакующий успешно протащил запрещенный параметр мимо фильтров и смог записывать произвольные файлы в систему.

Как разработчику можно защититься от этой проблемы: на уровне архитектуры проекта не пересылай сырые данные от одного парсера к другому и используй принцип «передаю то, что понимаю». Проведи инвентаризацию всех парсеров, которые используются в твоей системе: с помощью SCA составь список библиотек, занимающихся парсингом, и с помощью SAST определи путь «сырых» входных данных. Попроси своего appsec-товарища изучить эту атаку и настроить DAST.

@makrushin l MAX l VK
  • 👍 5
  • 🙏 1
  • 🏆 1
More from @makrushin
  1. Sep 9, 2026Спустился с горы в Красную Поляну, чтобы рассказать про безопасность агентской разработки.
  2. Sep 4, 2026Атакующие модели внутри продуктов для защиты Подсмотрел недавние анонсы крупных глобальных…
  3. Aug 27, 2026Анализ причины действия для защиты ИИ-агентов Интересный подход к защите агентов от prompt…
  4. Aug 21, 2026По мотивам нашего доклада опубликовали статью о поверхности атаки на ИИ-агентов в разработ…
  5. Aug 12, 2026Зашёл в Shodan, чтобы поискать MCP-инструменты. Нашёл. 1699 MCP-серверов оказались доступн…
  6. Jul 27, 2026Объявляю неделю безопасности ИИ-агентов и зову всех на учёбу в школу! В Школе анализа данн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →