libvips up to 8.17.1 PDF vips_operation_block_set buffer over-read
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.7 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical was found in libvips up to 8.17.1. This vulnerability affects the function vips_operation_block_set of the component PDF Handler. The manipulation results in buffer over-read.
This vulnerability is known as CVE-2025-59933. Attacking locally is a requirement. No exploit is available.
Upgrading the affected component is advised.
Details
A vulnerability classified as critical has been found in libvips up to 8.17.1. Affected is the function vips_operation_block_set of the component PDF Handler. The manipulation with an unknown input leads to a buffer over-read vulnerability. CWE is classifying the issue as CWE-126. The product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations after the targeted buffer. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
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 vips_operation_block_set, which is available in most language bindings, or to set VIPS_BLOCK_UNTRUSTED environment variable at runtime, which will block all untrusted loaders including PDF input via poppler.
The advisory is shared for download at github.com. This vulnerability is traded as CVE-2025-59933 since 09/23/2025. The exploitability is told to be easy. The attack needs to be approached locally. The exploitation doesn't require any form of authentication. There are known technical details, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 266347 (Linux Distros Unpatched Vulnerability : CVE-2025-59933), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 8.17.2 eliminates this vulnerability. The upgrade is hosted for download at github.com. Applying the patch a58bfae9223a5466cc81ba9fe6dfb08233cf17d1 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at Tenable (266347). Once again VulDB remains the best source for vulnerability data.
Product
Name
Version
License
Website
- Product: https://github.com/libvips/libvips/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 6.8VulDB Meta Temp Score: 6.7
VulDB Base Score: 5.9
VulDB Temp Score: 5.7
VulDB Vector: 🔒
VulDB Reliability: 🔍
NVD Base Score: 7.8
NVD Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Buffer over-readCWE: CWE-126 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 266347
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-59933
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: libvips 8.17.2
Patch: a58bfae9223a5466cc81ba9fe6dfb08233cf17d1
Timeline
09/23/2025 CVE reserved09/30/2025 Advisory disclosed
09/30/2025 VulDB entry created
10/18/2025 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-q8px-4w5q-c2r4
Status: Confirmed
CVE: CVE-2025-59933 (🔒)
GCVE (CVE): GCVE-0-2025-59933
GCVE (VulDB): GCVE-100-326340
Entry
Created: 09/30/2025 08:28Updated: 10/18/2025 03:28
Changes: 09/30/2025 08:28 (70), 10/02/2025 13:04 (2), 10/18/2025 03:28 (11)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.