🚨 Слепая вера в PDF: что творится под капотом генерации твоих "безопасных" файлов
Исследователи из PT SWARM покопались в популярных библиотеках для конвертации HTML в PDF — и нашли там настоящий зоопарк уязвимостей. 🔥😵💫13 багов + 6 миссконфигов🔥🔥 в семи либах: TCPDF, html2pdf, jsPDF, mPDF, snappy, dompdf и OpenPDF.
Что может пойти не так, когда твой сервер жрёт пользовательский HTML и спитит PDF (чеки, отчёты, инвойсы)?
• Path traversal: Вставляешь в img src хитрый путь — и в PDF улетают твои приватные файлы с сервера (привет, утечка PII).
• Deserialization гадости: Сериализуешь объект — и сервер начинает удалять произвольные файлы. DoS в один клик.
• SSRF в полный рост: Библиотеки сами бегают по указанным URL, включая internal 127.0.0.1. Сканируй сеть, тяни метаданные — всё дела.
• ReDoS и бесконечные циклы: Один кривой data: URL — и CPU сервера уходит в стратосферу.
Особенно "весело" в TCPDF (≤6.8.2), html2pdf (≤5.3.0) и jsPDF (3.x). Многие баги уже пофикшены в новых версиях, но миссконфиги (типа allow remote images или local file access) — это intentional фичи, которые нужно выключать вручную.
Вывод простой: никогда не доверяй пользовательскому HTML на этапе генерации PDF. Санитайзьте, валидируйте пути/URL, отключите всё лишнее, обновляйтесь.
Полный разбор с PoC и примерами: https://swarm.ptsecurity.com/blind-trust-what-is-hidden-behind-the-process-of-creating-your-pdf-file/
Не генерируйте PDF из непроверенного ввода без паранойи — иначе получите сюрприз в проде. 🔒
Post #148
3.25K
Forwarded from Репорты простым языком
- 🔥 12
- 👍 2
- ❤ 1