#19813 closed enhancement (fixed)

ghostscript-10.03.1

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: elevated Milestone: 12.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New point version.

Change History (4)

comment:1 by Bruce Dubbs, 11 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 11 months ago

Priority: normalelevated

Version 10.03.1 (2024-05-02)

Highlights in this release include:

  • Fixes for CVE-2024-33869, CVE-2023-52722, CVE-2024-33870, CVE-2024-33871 and CVE-2024-29510
  • IMPORTANT: For the 10.04.0 release (fall/autumn 2024) we will be adding protection for device selection from PostScript input. This will mean that, by default, only the device specified on the command line will be permitted. Similar to the file permissions, there will be a "--permit-devices=" allowing a comma separation list of allowed devices. This will also take a single wildcard "*" allowing any device. Any application which relies on allowing PostScript to change devices during a job will have to be aware, and take action to deal with this change. The exception is "nulldevice", switching to that requires no special action.
  • A vulnerability was identified in the way Ghostscript/GhostPDL called tesseract for the OCR devices, which could allow arbitrary code execution. As as result, we strongly urge anyone including the OCR devices in their build to update as soon as possible.
  • As of this release (10.03.1) pdfwrite creates PDF files with XRef streams and ObjStm streams. This can result in considerably smaller PDF output files. See Vector Devices for more details.
  • Ghostscript/pdfwrite now supports passing through PDF "Optional Content".
  • Our efforts in code hygiene and maintainability continue.
  • The usual round of bug fixes, compatibility changes, and incremental improvements.
  • (9.53.0) We have added the capability to build with the Tesseract OCR engine. In such a build, new devices are available (pdfocr8/pdfocr24/pdfocr32) which render the output file to an image, OCR that image, and output the image "wrapped" up as a PDF file, with the OCR generated text information included as "invisible" text (in PDF terms, text rendering mode 3). Mainly due to time constraints, we only support including Tesseract from source included in our release packages, and not linking to Tesseract/Leptonica shared libraries. Whether we add this capability will be largely dependent on community demand for the feature.

Incompatible changes

Included below are incompatible changes from recent releases (the specific release in question is listed in parentheses). We include these, for now, as we are aware that not everyone upgrades with every release.

  • (10.03.1) Almost all the "internal" PostScript procedures defined during the interpreter startup are now "executeonly", further reducing the attack surface of the interpreter. The nature of these procedures means there should be no impact for legitimate usage, but it is possible it will impact uses which abuse the previous accessibility (even for legitimate reasons). Such cases may now require "DELAYBIND", See DELAYBIND
  • (10.03.1) The "makeimagedevice" non-standard operator has been removed. It allowed low level access to the graphics library in a way that was, essentially impossible to secure.
  • (10.03.1) The "putdeviceprops", "getdeviceprops", "finddevice", "copydevice", "findprotodevice" non-standard operators have all been removed. They provided functionality that is either accessible through standard operators, or should not be used by user PostScript.
  • (10.03.1) The process of "tidying" the PostScript namespace should have removed only non-standard and undocumented operators. Nevertheless, it is possible that any integrations or utilities that rely on those non-standard and undocumented operators may stop working or may change behaviour. If you encounter such a case, please contact us (Discord, #ghostscript IRC channel, or the gs-devel mailing list would be best), and we'll work with you to either find an alternative solution or return the previous functionality, if there is genuinely no other option.

comment:3 by Bruce Dubbs, 11 months ago

Fixed as a part of commit 712878e768. Holding open for security advisory.

comment:4 by Douglas R. Reno, 11 months ago

Resolution: fixed
Status: assignedclosed

SA-12.1-043 issued

Note: See TracTickets for help on using tickets.