CVE-2017-5886
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp...
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.8
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
CVE-2017-5886- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-119
- Updated
- 2026-11-02
CVE List No score
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
CVE-2017-5886- Updated
- 2026-11-02
EUVDEUVD-2017-14961 No score
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
EUVD-2017-14961- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8jc5-p2gp-jffv
7.8
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp...
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
GHSA-8jc5-p2gp-jffv- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSV
7.8
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
CVE-2017-5886- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-5886
7.8
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
DEBIAN-CVE-2017-5886- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVUBUNTU-CVE-2017-5886
7.8
Heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function in PdfTokenizer.cpp in PoDoFo 0.9.4 allows remote attackers to have unspecified impact via a crafted file.
- Record
UBUNTU-CVE-2017-5886- CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2018-0026 No score
Updated podofo packages fix security vulnerability
The podofo package has been updated to fix several security issues. The krename and calibre packages have been rebuilt against the updated podofo.
- Record
MGASA-2018-0026- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11178-1 No score
libpodofo-devel-0.9.7-2.2 on GA media
These are all security issues fixed in the libpodofo-devel-0.9.7-2.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11178-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15521-1 No score
libpodofo-0_10-devel-0.10.5-1.1 on GA media
These are all security issues fixed in the libpodofo-0_10-devel-0.10.5-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15521-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:2481-1 No score
Security update for podofo
This update for podofo fixes the following issues:
- CVE-2017-5852: The PoDoFo::PdfPage::GetInheritedKeyFromObject function allowed remote attackers to cause a denial of service (infinite loop) via a crafted file (bsc#1023067).
- CVE-2017-5853: Integer overflow allowed remote attackers to have unspecified impact via a crafted file (bsc#1023069).
- CVE-2017-5854: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted file (bsc#1023070).
- CVE-2017-5855: The PoDoFo::PdfParser::ReadXRefSubsection function allowed remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file (bsc#1023071).
- CVE-2017-5886: Prevent heap-based buffer overflow in the PoDoFo::PdfTokenizer::GetNextToken function that allowed remote attackers to have unspecified impact via a crafted file (bsc#1023380).
- CVE-2017-6847: The PoDoFo::PdfVariant::DelayedLoad function allowed remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file (bsc#1027778).
- CVE-2017-6844: Buffer overflow in the PoDoFo::PdfParser::ReadXRefSubsection function allowed remote attackers to have unspecified impact via a crafted file (bsc#1027782).
- CVE-2017-6840: The ColorChanger::GetColorFromStack function allowed remote attackers to cause a denial of service (invalid read) via a crafted file (bsc#1027787).
- CVE-2017-7378: The PoDoFo::PdfPainter::ExpandTabs function allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted PDF document (bsc#1032017).
- CVE-2017-7379: The PoDoFo::PdfSimpleEncoding::ConvertToEncoding function allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted PDF document (bsc#1032018).
- CVE-2017-7380: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted PDF document (bsc#1032019).
- CVE-2017-7994: The function TextExtractor::ExtractText allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted PDF document (bsc#1035534).
- CVE-2017-8054: The function PdfPagesTree::GetPageNodeFromArray allowed remote attackers to cause a denial of service (infinite recursion and application crash) via a crafted PDF document (bsc#1035596).
- CVE-2017-8787: The PoDoFo::PdfXRefStreamParserObject::ReadXRefStreamEntry function allowed remote attackers to cause a denial of service (heap-based buffer over-read) or possibly have unspecified other impact via a crafted PDF file (bsc#1037739).
- CVE-2018-5308: Properly validate memcpy arguments in the PdfMemoryOutputStream::Write function to prevent remote attackers from causing a denial-of-service or possibly have unspecified other impact via a crafted pdf file (bsc#1075772).
- CVE-2018-8001: Prevent heap-based buffer over-read vulnerability in UnescapeName() that allowed remote attackers to cause a denial-of-service or possibly unspecified other impact via a crafted pdf file (bsc#1084894).
- Record
SUSE-SU-2018:2481-1- Updated
- 2026-11-02
OSVUSN-7217-1 No score
libpodofo vulnerabilities
It was discovered that the PoDoFo library could dereference a NULL pointer when getting the number of pages in a PDF. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2018-11255)
It was discovered that PoDoFo library incorrectly handled memory when computing an encryption key, which could lead to a buffer overflow. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service. (CVE-2018-12983)
It was discovered that the PoDoFo library incorrectly handled memory allocation. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2018-20797)
It was discovered that the PoDoFo library did not properly validate memcpy arguments. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2018-5308)
It was discovered that the PoDoFo library incorrectly handled memory in the GetNextToken function, which could lead to a buffer overflow. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 16.04 LTS. (CVE-2017-5886)
It was discovered that the PoDoFo library could enter an infinite loop, which could lead to a stack overflow. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2018-8002, CVE-2020-18971, CVE-2021-30471, CVE-2021-30470)
It was discovered that the PoDoFo library incorrectly handled memory allocation due to nInitialSize not being validated. If a user or application were tricked into opening a crafted PDF file, an attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2019-10723)
- Record
USN-7217-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libpodofoDebian:12 |
before 0.9.4-5 | 0.9.4-5 |
libpodofoDebian:13 |
before 0.9.4-5 | 0.9.4-5 |
libpodofoDebian:14 |
before 0.9.4-5 | 0.9.4-5 |
libpodofoDebian:7 |
before 0.9.0-1.1+deb7u1, plus listed versions 0.9.0-1.1 |
0.9.0-1.1+deb7u1 |
podofoMageia:5 |
before 0.9.6-0.r1855.1.mga5 | 0.9.6-0.r1855.1.mga5 |
krenameMageia:5 |
before 4.0.9-6.1.mga5 | 4.0.9-6.1.mga5 |
calibreMageia:5 |
before 2.78.0-1.1.mga5 | 2.78.0-1.1.mga5 |
podofoSUSE:Linux Enterprise Desktop 12 SP3 |
before 0.9.2-3.3.1 | 0.9.2-3.3.1 |
podofoSUSE:Linux Enterprise Software Development Kit 12 SP3 |
before 0.9.2-3.3.1 | 0.9.2-3.3.1 |
podofoSUSE:Linux Enterprise Workstation Extension 12 SP3 |
before 0.9.2-3.3.1 | 0.9.2-3.3.1 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libpodofoUbuntu:Pro:14.04:LTS |
before 0.9.0-1.2ubuntu0.1~esm1, plus listed versions 0.9.0-1.1ubuntu10.9.0-1.2 |
0.9.0-1.2ubuntu0.1~esm1 |
libpodofoUbuntu:Pro:16.04:LTS |
before 0.9.3-4ubuntu0.1~esm1, plus listed versions 0.9.0-1.30.9.3-30.9.3-4 |
0.9.3-4ubuntu0.1~esm1 |
libpodofoUbuntu:Pro:14.04:LTS |
before 0.9.0-1.2ubuntu0.1~esm3, plus listed versions 0.9.0-1.1ubuntu10.9.0-1.20.9.0-1.2ubuntu0.1~esm1 |
0.9.0-1.2ubuntu0.1~esm3 |
libpodofoUbuntu:Pro:18.04:LTS |
before 0.9.5-9ubuntu0.1~esm1, plus listed versions 0.9.5-60.9.5-80.9.5-8build10.9.5-9 |
0.9.5-9ubuntu0.1~esm1 |
libpodofoUbuntu:Pro:20.04:LTS |
before 0.9.6+dfsg-5ubuntu0.1~esm1, plus listed versions 0.9.6+dfsg-50.9.6+dfsg-5build1 |
0.9.6+dfsg-5ubuntu0.1~esm1 |
libpodofoUbuntu:Pro:22.04:LTS |
before 0.9.7+dfsg-3ubuntu0.1~esm1, plus listed versions 0.9.7+dfsg-20.9.7+dfsg-2build10.9.7+dfsg-2build20.9.7+dfsg-3 |
0.9.7+dfsg-3ubuntu0.1~esm1 |
podofoopenSUSE:Tumbleweed |
before 0.9.7-2.2 | 0.9.7-2.2 |
podofo-0_10openSUSE:Tumbleweed |
before 0.10.5-1.1 | 0.10.5-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-5886 is a high vulnerability (CVSS 7.8) in Podofo Project Podofo, published March 1, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.69%, the 77th percentile. Fixed in libpodofo 0.9.4-5.
References
blogs.gentoo.org/ago/2017/02/03/podofo-heap-based-buffer-overflow-in-podofopdftokenizergetnexttoken-pdftokenizer-cpp
securityfocus.com/bid/96512
nvd.nist.gov/vuln/detail/CVE-2017-5886
github.com/advisories/GHSA-8jc5-p2gp-jffv
security-tracker.debian.org/tracker/CVE-2017-5886
advisories.mageia.org/MGASA-2018-0026.html
Show 76 moreShow less
bugs.mageia.org/show_bug.cgi?id=20234
openwall.com/lists/oss-security/2017/02/02/10
openwall.com/lists/oss-security/2017/02/02/11
openwall.com/lists/oss-security/2017/02/02/12
openwall.com/lists/oss-security/2017/02/02/13
openwall.com/lists/oss-security/2017/02/05/4
openwall.com/lists/oss-security/2017/03/13/10
openwall.com/lists/oss-security/2017/03/13/14
openwall.com/lists/oss-security/2017/03/13/17
openwall.com/lists/oss-security/2017/04/01/1
openwall.com/lists/oss-security/2017/04/01/2
openwall.com/lists/oss-security/2017/04/01/3
suse.com/support/update/announcement/2018/suse-su-20182481-1
bugzilla.suse.com/1023067
bugzilla.suse.com/1023069
bugzilla.suse.com/1023070
bugzilla.suse.com/1023071
bugzilla.suse.com/1023380
bugzilla.suse.com/1027778
bugzilla.suse.com/1027782
bugzilla.suse.com/1027787
bugzilla.suse.com/1032017
bugzilla.suse.com/1032018
bugzilla.suse.com/1032019
bugzilla.suse.com/1035534
bugzilla.suse.com/1035596
bugzilla.suse.com/1037739
bugzilla.suse.com/1075772
bugzilla.suse.com/1084894
suse.com/security/cve/CVE-2017-5852
suse.com/security/cve/CVE-2017-5853
suse.com/security/cve/CVE-2017-5854
suse.com/security/cve/CVE-2017-5855
suse.com/security/cve/CVE-2017-5886
suse.com/security/cve/CVE-2017-6840
suse.com/security/cve/CVE-2017-6844
suse.com/security/cve/CVE-2017-6847
suse.com/security/cve/CVE-2017-7378
suse.com/security/cve/CVE-2017-7379
suse.com/security/cve/CVE-2017-7380
suse.com/security/cve/CVE-2017-7994
suse.com/security/cve/CVE-2017-8054
suse.com/security/cve/CVE-2017-8787
suse.com/security/cve/CVE-2018-5308
suse.com/security/cve/CVE-2018-8001
ubuntu.com/security/CVE-2017-5886
sourceforge.net/p/podofo/mailman/podofo-users/thread/20170204121312.lq26ge6osbiuwnjo%40mapreri.org
github.com/asarubbo/poc/blob/master/00146-podofo-heapoverflow-PdfTokenizer
cve.org/CVERecord?id=CVE-2017-5886
ubuntu.com/security/notices/USN-7217-1
ubuntu.com/security/CVE-2018-5308
ubuntu.com/security/CVE-2018-8002
ubuntu.com/security/CVE-2018-11255
ubuntu.com/security/CVE-2018-12983
ubuntu.com/security/CVE-2018-20797
ubuntu.com/security/CVE-2019-10723
ubuntu.com/security/CVE-2020-18971
ubuntu.com/security/CVE-2021-30470
ubuntu.com/security/CVE-2021-30471
suse.com/security/cve/CVE-2017-6845
suse.com/security/cve/CVE-2017-7381
suse.com/security/cve/CVE-2017-7382
suse.com/security/cve/CVE-2017-7383
suse.com/security/cve/CVE-2018-11255
suse.com/security/cve/CVE-2018-11256
suse.com/security/cve/CVE-2018-12982
suse.com/security/cve/CVE-2018-14320
suse.com/security/cve/CVE-2018-20751
suse.com/security/cve/CVE-2018-5295
suse.com/security/cve/CVE-2018-5296
suse.com/security/cve/CVE-2018-5309
suse.com/security/cve/CVE-2018-5783
suse.com/security/cve/CVE-2019-9687
suse.com/security/cve/CVE-2018-12983
suse.com/security/cve/CVE-2018-20797
suse.com/security/cve/CVE-2019-10723