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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-26136 — Этот репозиторий содержит решение для уязвимости CVE-2023-26136. | Kitploit
Инструменты/GitHubGitHub/morrisel/cve-2023-26136
Статический анализАнализ уязвимостейАнализ КодаБезопасность Цепочки ПоставокСтатьи и ИсследованияОбучение и Образование
GitHubmorrisel/cve-2023-26136

CVE-2023-26136

Этот репозиторий содержит решение для уязвимости CVE-2023-26136.

Репозиторий
1 год назадЕщё не проверено

Популярное

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

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

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

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

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

Исследование уязвимости CVE-2023-26136

Описание

Версии пакета tough-cookie до 4.1.3 уязвимы к Prototype Pollution из-за некорректной обработки cookie при использовании CookieJar в режиме rejectPublicSuffixes=false. Проблема возникает из-за способа инициализации объектов.

Цель и исправление

Этот проект направлен на предоставление пропатченной версии [email protected], которая устраняет уязвимость CVE-2023-26136, сохраняя при этом обратную совместимость.

Для исправления уязвимости мы изменили memstore.js, чтобы cookie хранились в объекте без риска загрязнения прототипа, заменив стандартную инициализацию объекта на Object.create(null). Это предотвращает манипуляцию прототипом через вредоносные имена cookie.

Структура

В каталоге tough-cookie/ можно найти две дополнительные директории, содержащие оригинальную и пропатченную версии tough-cookie:

  1. Оригинальная версия (Original v2.5.0/) – Немодифицированный tough-cookie 2.5.0, который уязвим.
  2. Пропатченная версия (v2.5.0-PATCHED/) – Модифицированная версия, включающая исправление для CVE-2023-26136.

Установка

Для установки оригинальной уязвимой версии:

root@kitploit:~
npm install [email protected]

Детали патча

Применённый патч изменяет способ хранения cookie: this.idx = {}; было изменено на: this.idx = Object.create(null);

Это предотвращает внедрение атакующим свойств в цепочку прототипов и эксплуатацию уязвимости.

Уязвимость в tough-cookie (CVE-2023-26136) возникает из-за использования обычного JavaScript-объекта {} для хранения cookie. Поскольку {} наследуется от Object.prototype, его можно эксплуатировать, внедряя свойства типа proto, что приводит к загрязнению прототипа. Это может позволить атакующему манипулировать поведением приложения или вызывать проблемы безопасности.

Чтобы смягчить эту проблему, патч заменяет {} на Object.create(null), который создаёт объект без прототипа ([[Prototype]]: null). Это гарантирует, что объект не наследует никаких свойств от Object.prototype, предотвращая внедрение вредоносных свойств атакующим.

Используя Object.create(null), мы эффективно изолируем хранилище cookie от непреднамеренного наследования прототипа, делая его более безопасным против атак типа prototype pollution.

Руководство по установке и инструкции по применению патча

Чтобы установить пропатченную версию локально, выполните следующие шаги:

  1. Извлеките пропатченный пакет (необязательно для проверки):

tar -tzf tough-cookie-2.5.0.tgz

При необходимости извлеките его:

tar -xzf tough-cookie-2.5.0.tgz

  1. Установите пропатченный пакет:

npm install ./tough-cookie-2.5.0.tgz

  1. Проверьте исправление: Запустите тестовый скрипт:

node index.js

Ожидаемый вывод:

EXPLOITED SUCCESSFULLY - для оригинальной версии

EXPLOIT FAILED - для пропатченной версии

Совместимость с Node.js

Пропатченная версия была протестирована на Node.js 20 (LTS) для обеспечения совместимости с последней стабильной средой выполнения.

Репозиторий и форк

Оригинальный репозиторий tough-cookie (Salesforce) в настоящее время находится на версии 5.1.1. Поскольку мы работаем с версией 2.5.0, прямой форк из основного репозитория невозможен. Вместо этого мы создали отдельный репозиторий, содержащий как оригинальную, так и пропатченную версии. Вы можете найти его здесь:

GitHub Repository - Forked Version

CI/CD

  • В этом исследовании не использовались инструменты CI/CD.
  • Знаком с Docker (базовый уровень).

Ссылка

Для получения дополнительных сведений посетите официальную страницу CVE: CVE-2023-26136 - NVD

Скачать инструмент