Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V5630. OWASP. Possible cookie injection. Potentially tainted data is used to create a cookie.

05 Июн 2025

Анализатор обнаружил создание cookie-объекта из данных, полученных из внешнего источника без предварительной проверки. Это может стать причиной возникновения cookie-инъекции в случае, если данные будут скомпрометированы.

Рассмотрим пример:

public void ChangeCookie()
{
  String cookieValue = Request.Form["userRole"];

  Response.Cookies.Add(
    new HttpCookie(WebLocalizationConfiguration.CookieName, cookieValue)
    {
      Expires = Clock.Now.AddYears(2),
      Path = Request.ApplicationPath
    }
  );
  ....
}

В данном случае в HttpResponse добавляется новый объект класса HttpCookie, который инициализируется на основе данных из внешнего источника — Request.Form. Использование данных без какой-либо проверки или валидации может привести к тому, что злоумышленники смогут повлиять на работу приложения.

Чтобы обезопасить код от cookie-инъекции, необходимо проверить данные, которые используются для инициализации объекта класса HttpCookie.

Сделать это можно подобным образом:

public void ChangeCookie()
{
  String cultureValue = Request.Form["userRole"];
  
  if (!Regex.IsMatch(cultureValue, DataValidationPattern))
    return;

  Response.Cookies.Add(
    new HttpCookie(WebLocalizationConfiguration.CookieName, cultureValue)
    {
      Expires = Clock.Now.AddYears(2),
      Path = Request.ApplicationPath
    }
  );
  ....
}

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

Данная диагностика классифицируется как: