Исследователи обнаружили критическую уязвимость в популярной библиотеке для работы с куками tough-cookie, используемой во многих Node.js-проектах. Ошибка в логике парсинга URL позволяет злоумышленникам обходить ограничения доменов и получать доступ к конфиденциальным данным. Проблема затрагивает механизмы обработки кук, которые могут быть ошибочно переданы на сторонние хосты из-за различий в интерпретации путей.

Уязвимость, получившая идентификатор CVE-2023-26136, связана с тем, как библиотека сопоставляет домены при установке кук. В определенных сценариях злоумышленник может сформировать специально подготовленный URL, который заставит библиотеку считать, что кука принадлежит доверенному домену, хотя на самом деле она отправляется на вредоносный сервер. Это создает серьезные риски для безопасности сессий и кражи токенов аутентификации в приложениях, полагающихся на этот пакет.

Разработчикам рекомендуется немедленно обновить зависимость до версии 4.1.3 или выше, где была исправлена логика нормализации путей и проверки доменов. Уязвимость подчеркивает важность регулярного аудита цепочек поставок программного обеспечения, так как подобные ошибки в базовых библиотеках могут оставаться незамеченными в течение длительного времени, создавая скрытый вектор атак на инфраструктуру веб-приложений.

Ключевые факты

  • Уязвимость затрагивает библиотеку tough-cookie, широко используемую в экосистеме Node.js для управления состоянием HTTP-кук.
  • Ошибка классифицирована как проблема парсинга URL, позволяющая обходить политики безопасности доменов.
  • Исправленная версия библиотеки — 4.1.3, пользователям рекомендуется провести обновление всех зависимостей.
  • Уязвимость позволяет злоумышленникам перехватывать куки, предназначенные для других доменов, что ведет к компрометации пользовательских сессий.