Description
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
Problem types
Product status
1.23.0 (semver)
Credits
Pavel Kohout, Aisle Research (www.aisle.com)
References
bugs.ghostscript.com/show_bug.cgi?id=709029
cgit.ghostscript.com/...3b6092d513321c23c6f7fe5cff87cde043c1
mupdf.com/
www.vulncheck.com/...ries/mupdf-barcode-decoding-double-free