UBUNTU-CVE-2025-59933: Medium severity ubuntu/vips vulnerability
libvips is a demand-driven, horizontally threaded image processing library. For versions 8.17.1 and below, when libvips is compiled with support for PDF input via poppler, the pdfload operation is affected by a buffer read overflow when parsing the header of a crafted PDF with a page that defines a width but not a height. Those using libvips compiled without support for PDF input are unaffected as well as thosewith support for PDF input via PDFium. This issue is fixed in version 8.17.2. A workaround for those affected is to block the VipsForeignLoadPdf operation via vipsoperationblockset, which is available in most language bindings, or to set VIPSBLOCKUNTRUSTED environment variable at runtime, which will block all untrusted loaders including PDF input via poppler.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
libvipsto a version that resolves this vulnerability.Fixed in 8.17.2 - Configuration
Block the VipsForeignLoadPdf operation via vips_operation_block_set, or set the VIPS_BLOCK_UNTRUSTED environment variable at runtime to block untrusted loaders including PDF input via poppler.
libvips VipsForeignLoadPdf / VIPS_BLOCK_UNTRUSTED = block
Event History
Frequently Asked Questions
Which deployments are affected?
Only libvips versions 8.17.1 and below that were compiled with PDF input support through poppler are affected. Builds without PDF input support, or builds using PDFium for PDF input, are unaffected.
What input is required to trigger the issue?
An attacker needs to cause pdfload to parse a crafted PDF containing a page that defines a width but omits a height. No privileges or user interaction are indicated by the supplied severity vector.
What can be done before upgrading?
Block the VipsForeignLoadPdf operation with vips_operation_block_set, which is available in most language bindings. Alternatively, set VIPS_BLOCK_UNTRUSTED at runtime; this blocks all untrusted loaders, including poppler-based PDF input.
What version contains the fix?
The issue is fixed in libvips version 8.17.2.