{"id":"CVE-2020-18971","aliases":["DEBIAN-CVE-2020-18971","EUVD-2020-10882","GHSA-xrmq-h6xp-2vgc","SUSE-SU-2026:4311-1","UBUNTU-CVE-2020-18971","USN-7217-1"],"status":"published","title":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via...","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","severity":{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.0068,"percentile":0.52719,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787"],"published":"2021-08-25T15:54:02Z","modified":"2026-10-26T12:01:00Z","fixes":[{"ecosystem":"Debian:12","package":"libpodofo","fixed_in":["0.9.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libpodofo","fixed_in":["0.9.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libpodofo","fixed_in":["0.9.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libpodofo","fixed_in":["0.9.6+dfsg-5ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libpodofo","fixed_in":["0.9.7+dfsg-3ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Package Hub 15 SP7","package":"podofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.6-150300.3.18.1"}]}],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.6+dfsg-5ubuntu0.1~esm1"}]}],"versions":["0.9.6+dfsg-5","0.9.6+dfsg-5build1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.7+dfsg-3ubuntu0.1~esm1"}]}],"versions":["0.9.7+dfsg-2","0.9.7+dfsg-2build1","0.9.7+dfsg-2build2","0.9.7+dfsg-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.0-1.2ubuntu0.1~esm3"}]}],"versions":["0.9.0-1.1ubuntu1","0.9.0-1.2","0.9.0-1.2ubuntu0.1~esm1"],"bundled":10},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.3-4ubuntu0.1~esm1"}]}],"versions":["0.9.0-1.3","0.9.3-3","0.9.3-4"],"bundled":10},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.5-9ubuntu0.1~esm1"}]}],"versions":["0.9.5-6","0.9.5-8","0.9.5-8build1","0.9.5-9"],"bundled":10},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.6+dfsg-5ubuntu0.1~esm1"}]}],"versions":["0.9.6+dfsg-5","0.9.6+dfsg-5build1"],"bundled":10},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libpodofo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.7+dfsg-3ubuntu0.1~esm1"}]}],"versions":["0.9.7+dfsg-2","0.9.7+dfsg-2build1","0.9.7+dfsg-2build2","0.9.7+dfsg-3"],"bundled":10}],"products":[{"vendor":"podofo_project","product":"podofo"}],"references":[{"url":"https://sourceforge.net/p/podofo/tickets/48/","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-18971"},{"url":"https://github.com/advisories/GHSA-xrmq-h6xp-2vgc"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-18971","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264311-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1084891","tags":["report"]},{"url":"https://bugzilla.suse.com/1184645","tags":["report"]},{"url":"https://bugzilla.suse.com/1186588","tags":["report"]},{"url":"https://bugzilla.suse.com/1190178","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-8002","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-18971","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-30470","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-30471","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2020-18971","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-18971","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-7217-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-5886","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-5308","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-8002","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-11255","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-12983","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-20797","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2019-10723","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-30470","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-30471","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-18971","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T15:54:02Z","modified":"2024-08-04T14:08:30.644Z","updated_at":"2026-11-02T14:35:59.434367Z"}],"euvd":[{"id":"EUVD-2020-10882","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T15:54:02Z","modified":"2024-08-04T14:08:30Z","updated_at":"2026-11-03T03:07:25.877716Z"}],"ghsa":[{"id":"GHSA-xrmq-h6xp-2vgc","title":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via...","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2022-05-24T19:12:12Z","modified":"2023-01-30T05:01:46Z","cwes":["CWE-787"],"updated_at":"2026-11-02T14:46:28.825002Z"}],"nvd":[{"id":"CVE-2020-18971","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T16:15:07.033Z","modified":"2026-06-17T02:59:31.54Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:06:45.704484Z"}],"osv":[{"id":"CVE-2020-18971","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T16:15:07.033Z","modified":"2026-10-24T10:30:19.89789011Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:15.212689Z"},{"id":"DEBIAN-CVE-2020-18971","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T16:15:07.033Z","modified":"2026-10-26T12:01:00.448814679Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:33.384087Z"},{"id":"UBUNTU-CVE-2020-18971","description":"Stack-based Buffer Overflow in PoDoFo v0.9.6 allows attackers to cause a denial of service via the component 'src/base/PdfDictionary.cpp:65'.","status":"published","published":"2021-08-25T16:15:00Z","modified":"2026-04-22T12:32:45.341459Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:23.344108Z"},{"id":"SUSE-SU-2026:4311-1","title":"Security update for podofo","description":"This update for podofo fixes the following issues:\n\n- CVE-2018-8002: infinite loop vulnerability in ParseFileComplete() (bsc#1084891).\n- CVE-2020-18971: stack-based buffer overflow in src/base/PdfDictionary.cpp (bsc#1190178).\n- CVE-2021-30470: uncontrolled recursive call of funtions in src/base/PdfTokenizer.cpp can lead to a stack overflow\n  (bsc#1186588).\n- CVE-2021-30471: uncontrolled recursive call in PdfNamesTree:AddToDictionary function in\n  src/podofo/doc/PdfNamesTree.cpp (bsc#1184645).\n","status":"published","published":"2026-09-23T15:58:04Z","modified":"2026-09-24T11:15:06.909879174Z","updated_at":"2026-11-02T15:54:05.838224Z"},{"id":"USN-7217-1","title":"libpodofo vulnerabilities","description":"It was discovered that the PoDoFo library could dereference a NULL pointer\nwhen getting the number of pages in a PDF. If a user or application were\ntricked into opening a crafted PDF file, an attacker could possibly use\nthis issue to cause a denial of service. This issue only affected \nUbuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS and Ubuntu 20.04 LTS.\n(CVE-2018-11255)\n\nIt was discovered that PoDoFo library incorrectly handled memory when\ncomputing an encryption key, which could lead to a buffer overflow. If a\nuser or application were tricked into opening a crafted PDF file, an\nattacker could possibly use this issue to cause a denial of service.\n(CVE-2018-12983)\n\nIt was discovered that the PoDoFo library incorrectly handled memory\nallocation. If a user or application were tricked into opening a crafted\nPDF file, an attacker could possibly use this issue to cause a denial of\nservice. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS and\nUbuntu 22.04 LTS. (CVE-2018-20797)\n\nIt was discovered that the PoDoFo library did not properly validate memcpy\narguments. If a user or application were tricked into opening a crafted\nPDF file, an attacker could possibly use this issue to cause a denial of\nservice or execute arbitrary code. This issue only affected\nUbuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2018-5308)\n\nIt was discovered that the PoDoFo library incorrectly handled memory in\nthe GetNextToken function, which could lead to a buffer overflow. If a\nuser or application were tricked into opening a crafted PDF file, an\nattacker could possibly use this issue to cause a denial of service.\nThis issue only affected Ubuntu 16.04 LTS. (CVE-2017-5886)\n\nIt was discovered that the PoDoFo library could enter an infinite loop,\nwhich could lead to a stack overflow. If a user or application were\ntricked into opening a crafted PDF file, an attacker could possibly use\nthis issue to cause a denial of service or execute arbitrary code. This\nissue only affected Ubuntu 20.04 LTS and Ubuntu 22.04 LTS.\n(CVE-2018-8002, CVE-2020-18971, CVE-2021-30471, CVE-2021-30470)\n\nIt was discovered that the PoDoFo library incorrectly handled memory\nallocation due to nInitialSize not being validated. If a user or\napplication were tricked into opening a crafted PDF file, an attacker\ncould possibly use this issue to cause a denial of service. This issue\nonly affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2019-10723)\n","status":"published","published":"2025-01-20T04:29:20Z","modified":"2026-06-25T13:32:30.662478849Z","updated_at":"2026-11-02T16:58:18.876384Z"}]}}
