You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
8.2 KiB
154 lines
8.2 KiB
<!--START EDITING HERE-->
|
|
|
|
<h1>Recent Changes in Ghostscript</h1>
|
|
|
|
<!-- [1.0 end visible header] ============================================== -->
|
|
|
|
<!-- [2.0 begin contents] ================================================== -->
|
|
<h2><a name="Version10.04.0"></a>Version 10.04.0 (2024-09-18)</h2>
|
|
<p> Highlights in this release include:
|
|
<ul>
|
|
</li>
|
|
<li>
|
|
<p>This release addresses CVEs: CVE-2024-46951, CVE-2024-46952, CVE-2024-46953, CVE-2024-46954, CVE-2024-46955, CVE-2024-46956
|
|
</li>
|
|
<li>
|
|
<p><b>IMPORTANT:</b> In this release (10.04.0) we have be added 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.
|
|
<p>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.
|
|
<p>The exception is "nulldevice", switching to that requires no special action.
|
|
</li>
|
|
<li>
|
|
<p>Our efforts in code hygiene and maintainability continue.
|
|
</li>
|
|
<li>
|
|
<p>The usual round of bug fixes, compatibility changes, and incremental improvements.
|
|
</li>
|
|
<li>
|
|
<p>(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).
|
|
<p>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.
|
|
<p>See <a href="https://www.ghostscript.com/ocr.html">Enabling OCR</a> for more details.
|
|
</li>
|
|
</ul>
|
|
<p>For a list of open issues, or to report problems,
|
|
please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>.
|
|
<h3><a name="10.04.0_Incompatible_changes"></a>Incompatible changes</h3>
|
|
<h4>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.</h4>
|
|
<ul>
|
|
<li>
|
|
<p>(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.
|
|
<p>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 <a href="https://ghostscript.readthedocs.io/en/latest/Use.html#ddelaybind">DELAYBIND</a>
|
|
</li>
|
|
<li>
|
|
<p>(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.
|
|
</li>
|
|
<li>
|
|
<p>(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.
|
|
</li>
|
|
<li>
|
|
<p>(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.
|
|
<p>If you encounter such a case, please contact us (<a href="https://discord.gg/H9GXKwyPvY">Discord<a>,
|
|
<a href="https://web.libera.chat/#ghostscript">#ghostscript IRC channel</a>,
|
|
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.
|
|
</li>
|
|
<li>
|
|
<p>(9.55.0) Changes to the <code>device API</code>. This will affect developers and maintainers of
|
|
Ghostscript devices. Firstly, and most importantly, the way device-specific "procs" are specified has
|
|
been rewritten to make it (we think!) clearer and less confusing. See
|
|
<a href="https://ghostscript.readthedocs.io/Drivers.htm">The Interface between Ghostscript and Device Drivers</a> and
|
|
<a href="https://www.notion.so/artifexsoftware/The-Great-Device-Rework-Of-2021-94092fe1395d4a088b91462f0ca5038a">The Great Device Rework Of 2021</a>
|
|
for more details.
|
|
</li>
|
|
<li>
|
|
<p>(9.55.0) The command line options <code>-sGraphicsICCProfile=___</code>, <code>-dGraphicsIntent=#</code>, <code>-dGraphicsBlackPt=#</code>,
|
|
<code>-dGraphicsKPreserve=#</code> have been changed to <code>-sVectorICCProfile=___</code>, <code>-dVectorIntent=#</code>, <code>-dVectorBlackPt=#</code>,
|
|
<code>-dVectorKPreserve=#</code>.
|
|
</li>
|
|
<li>
|
|
<p>(9.53.0) As of 9.53.0, we have (re-)introduced the patch level to the version number,
|
|
this helps facilitate a revised policy on handling security-related issues.
|
|
<p><strong>Note for GSView Users: </strong>The patch level addition breaks GSView 5 (it is
|
|
hardcoded to check for versions <code>704-999</code>. It is possible, but not guaranteed that
|
|
a GSView update might be forthcoming to resolve this.
|
|
</li>
|
|
<li>
|
|
<p>(9.52) <code>-dALLOWPSTRANSPARENCY</code>: The transparency compositor (and related
|
|
features), whilst we are improving it, remains sensitive to being driven correctly, and
|
|
incorrect use can have unexpected/undefined results. Hence, as part of improving security,
|
|
we limited access to these operators, originally using the <code>-dSAFER</code> feature.
|
|
As we made "SAFER" the default mode, that became unacceptable, hence the new option
|
|
<code>-dALLOWPSTRANSPARENCY</code> which enables access to the operators.
|
|
</li>
|
|
<li>
|
|
<p>(9.50) There are a couple of subtle incompatibilities between the old and new SAFER
|
|
implementations. Firstly, as mentioned in the 9.50 release notes, SAFER now leaves
|
|
standard PostScript functionality unchanged (except for the file access limitations).
|
|
Secondly, the interaction with <code>save</code>/<code>restore</code> operations
|
|
has changed. See <a href="https://ghostscript.readthedocs.io/Use.htm#Safer">SAFER</a>.
|
|
<p><strong>Important Note for Windows Users</strong>:
|
|
<br>
|
|
The file/path pattern matching is case-sensitive, even on Windows. This is a
|
|
change in behaviour compared to the old code which, on Windows, was case
|
|
<i>in</i>sensitive. This is in recognition of changes in Windows behaviour,
|
|
in that it now supports (although does not enforce) case sensitivity.
|
|
</li>
|
|
</ul>
|
|
<h3><a name="10.04.0_changelog"></a>Changelog</h3>
|
|
<p>From 9.55.0 onwards, in recognition of how unwieldy very large HTML files can become
|
|
(History9.html had reached 8.1Mb!), we intend to only include the summary highlights (above).
|
|
<p>For anyone wanting the full details of the changes in
|
|
a release, we ask them to look at the history in our public git repository:
|
|
<a href="https://git.ghostscript.com/?p=ghostpdl.git;a=shortlog;h=refs/tags/ghostpdl-10.04.0">ghostpdl-10.04.0</a> log.
|
|
<p>If this change does not draw negative feedback, History?.htm file(s) will be removed from the release archives.
|
|
|
|
<!-- [2.0 end contents] ==================================================== -->
|
|
|
|
<!-- [3.0 begin visible trailer] =========================================== -->
|
|
<hr>
|
|
|
|
<p>
|
|
<small>Copyright © 2005-2024 Artifex Software, Inc.
|
|
All rights reserved.</small>
|
|
|
|
<p>
|
|
This software is provided AS-IS with no warranty, either express or
|
|
implied.
|
|
|
|
This software is distributed under license and may not be copied, modified
|
|
or distributed except as expressly authorized under the terms of that
|
|
license. Refer to licensing information at <a href="https://www.artifex.com">https://www.artifex.com</a>
|
|
or contact Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, CA 94129, USA,
|
|
|
|
<p>
|
|
<small>Ghostscript version 10.04.0, 18 September 2024
|
|
|
|
<!-- [3.0 end visible trailer] ============================================= -->
|
|
|
|
|
|
<!--FINISH EDITING HERE-->
|