
Cockpit CMS 2.7.0 подвержен уязвимости File Upload - XSS, которая позволяет злоумышленникам загружать PDF-файл со скрытым XSS, который при выполнении запустит всплывающее окно XSS.
Описание: Уязвимость загрузки файлов в Cockpit CMS 2.7.0 позволяет локальному злоумышленнику загрузить PDF-файл со скрытым XSS.
Вектор атаки: AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Это версия программного обеспечения.

Это содержимое XSS, внедрённого в PDF-файл.

Когда мы входим в панель, мы переходим в раздел "Assets" в общем меню и нажимаем на "Upload Asset".

Загружаем внедрённый PDF-файл:

В следующем доказательстве видно, что файл был загружен корректно:

Чтобы открыть внедрённый PDF, нажимаем на файл, как показано ниже:

И копируем ссылку на серверный путь и ID файла, где он хранится:

Переходим по скопированному URL, и появляется всплывающее окно XSS

Первым делом нужно создать вредоносный PDF со скрытым XSS.
Для этого создаём .js-файл с JavaScript-кодом, который хотим внедрить в PDF-файл для XSS.

Затем создаём пустой PDF-файл (pdf2go) и внедряем полезную нагрузку из .js-файла с помощью инструмента JS2PDFInjector

Мы можем проанализировать содержимое внедрённого PDF с помощью инструмента Peepdf.

В объекте object[3] содержится JavaScript-код, и мы можем проверить его с помощью инструмента pdf-parser из набора Peepdf.

Я переименовал файл, чтобы он был под рукой.

Загружаем файл в Assets:

И когда мы его открываем, мы получаем XSS PDF-файла, хранящегося на сервере.
