
Воспроизведено с использованием инструментации afl fuzzer! Респект antonio-morales.
CVE-2019-13288 — это уязвимость, обнаруженная в Xpdf версии 4.01.01, а именно в функции Parser::getObj() в Parser.cc. Этот дефект может приводить к бесконечной рекурсии при обработке специально созданного PDF-файла, что приводит к состоянию отказа в обслуживании (DoS). Уязвимость схожа с CVE-2018-16646 и подчёркивает важность надёжной проверки входных данных в рекурсивных функциях.
CVE ID: CVE-2019-13288
Затронутое ПО: Xpdf 4.01.01
Тип уязвимости: Неконтролируемая рекурсия (CWE-674)
Воздействие: Отказ в обслуживании (DoS)
Базовый балл CVSS v3.0: 5.5 (Средний)
Parser::getObj()Функция Parser::getObj() отвечает за разбор объектов внутри PDF-файла. В Xpdf 4.01.01 в этой функции отсутствуют надлежащие проверки для предотвращения бесконечной рекурсии. Злоумышленник может создать PDF-файл с вредоносной структурой объектов, которая заставляет getObj() рекурсивно вызывать саму себя без завершения, что приводит к исчерпанию стека и краху приложения.
Злоумышленник создаёт вредоносный PDF-файл с определённой структурой объектов, предназначенной для запуска бесконечной рекурсии в функции Parser::getObj(). Когда этот файл обрабатывается Xpdf или любым приложением, использующим его библиотеку, приложение входит в бесконечный рекурсивный цикл, потребляя системные ресурсы и в конечном итоге аварийно завершаясь.
PDF-файл, подтверждающий концепцию (PoC) и демонстрирующий эту уязвимость, доступен в этом репозитории ниже.
Пошаговая инструкция, как это было воспроизведено, приведена ниже:
Примечание: Этот PoC предназначен только для образовательных и исследовательских целей. Несанкционированное использование против систем без явного разрешения неэтично и может быть незаконным. Не будьте плохими!
Этот анализ был вдохновлён методологиями, представленными в руководстве Fuzzing101 Антонио Моралеса. Уязвимость была первоначально выявлена с помощью методов фаззинга, что подчёркивает эффективность таких подходов в обнаружении скрытых дефектов программного обеспечения.
Antionio-Morales — легенда! Спасибо, без твоих исследований я бы не смог воспроизвести её!
Эта информация предоставлена только в образовательных и исследовательских целях. Автор не несёт ответственности за любое неправомерное использование информации, содержащейся здесь. Всегда убеждайтесь, что у вас есть надлежащее разрешение, прежде чем тестировать или эксплуатировать уязвимости в любой системе.