Pandora подвержена сохраненной уязвимости межсайтового скриптинга в функции загрузки PDF. Конечная точка /task-download/<task_id>/.../pdf проверяет, что отправленный файл является PDF-файлом, используя определение типа файла на основе содержимого Pandora, но ранее возвращала файл с помощью send_file(task.file.path) без явного указания типа MIME или принудительной загрузки его как вложения. Поскольку Flask определяет MIME-тип ответа по имени файла при указании пути, злоумышленник может отправить файл, содержимое которого распознается Pandora как PDF-файл, в то время как его имя файла или расширение заставляет конечную точку загрузки возвращать его с другим, потенциально активным типом MIME.
Таким образом, специально созданный PDF/полиглотный файл может быть встроен и интерпретирован браузером жертвы как HTML или другой исполняемый веб-формат. Если жертва, имеющая доступ к представленному анализу, перейдет по ссылке для скачивания PDF-файла, сценарий, контролируемый злоумышленником, может выполниться в контексте безопасности приложения Pandora, потенциально открывая доступ к данным приложения или действиям с использованием сеанса жертвы. Патч предотвращает эту проблему, явно возвращая загрузки PDF с Content-Type: application/pdf, принуждая Content-Disposition: Attachment и назначая доверенное имя файла .pdf на основе UUID задачи.
Показать оригинальное описание (EN)
Pandora is affected by a stored cross-site scripting vulnerability in the PDF download functionality. The /task-download/<task_id>/.../pdf endpoint verifies that the submitted file is a PDF using Pandora's content-based file-type detection, but previously returned the file using send_file(task.file.path) without explicitly specifying the MIME type or forcing it to be downloaded as an attachment. Because Flask determines the response MIME type from the filename when a path is supplied, an attacker could submit a file whose content is recognized by Pandora as a PDF while its filename or extension causes the download endpoint to return it with a different, potentially active MIME type. A specially crafted PDF/polyglot file could therefore be served inline and interpreted by a victim's browser as HTML or another executable web format. If a victim with access to the submitted analysis follows the PDF download link, attacker-controlled script could execute in the security context of the Pandora application, potentially allowing access to application data or actions using the victim's session. The patch prevents the issue by explicitly returning PDF downloads with Content-Type: application/pdf, forcing Content-Disposition: attachment, and assigning a trusted .pdf filename based on the task UUID.
Характеристики атаки
Последствия
Строка CVSS v4.0