CVE-2025-52885
BaseFortify
Publication date: 2025-10-10
Last updated on: 2025-11-04
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| poppler | poppler | * |
| poppler | poppler | 25.02.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-416 | The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a use-after-free issue in the Poppler library versions prior to 25.10.0. It occurs in the StructTreeRoot class due to the use of raw pointers to elements of a std::vector. When the vector resizes, these raw pointers become dangling pointers because the vector reallocates memory and moves its elements, invalidating the stored pointers. This can lead to memory corruption or crashes. The problem arises from how refToParentMap stores references using raw pointers, which become invalid after vector resizing. Version 25.10.0 includes a patch that fixes this issue.
How can this vulnerability impact me? :
This vulnerability can lead to memory corruption or crashes when processing PDF files using the affected Poppler versions. Exploiting this use-after-free flaw could potentially allow an attacker to execute arbitrary code or cause denial of service by triggering invalid memory access during PDF rendering or manipulation.
What immediate steps should I take to mitigate this vulnerability?
Update Poppler to version 25.10.0 or later, as this version contains a patch that fixes the use-after-free vulnerability in the StructTreeRoot class.