CVE-2017-5209
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers...
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.1
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
CVE-2017-5209- CVSS 3.0
- 9.1 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - CVSS 2.0
- 6.4 Medium
AV:N/AC:L/Au:N/C:P/I:N/A:P - Weakness
- CWE-125
- Updated
- 2026-11-02
CVE List No score
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
CVE-2017-5209- Updated
- 2026-11-02
EUVDEUVD-2017-14315 No score
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
EUVD-2017-14315- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-c287-4rr6-qvj8
9.1
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers...
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
GHSA-c287-4rr6-qvj8- CVSS 3.0
- 9.1 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
9.1
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
CVE-2017-5209- CVSS 3.0
- 9.1 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-5209
9.1
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
DEBIAN-CVE-2017-5209- CVSS 3.0
- 9.1 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2017-5209
9.1
The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data.
- Record
UBUNTU-CVE-2017-5209- CVSS 3.0
- 9.1 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2018-0025 No score
Updated libplist packages fix security vulnerability
The base64decode function in libplist allowed attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data (CVE-2017-5209).
The main function in plistutil.c in libimobiledevice libplist allowed attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via Apple Property List data that is too short (CVE-2017-5545).
A heap-buffer overflow in parse_dict_node could cause a segmentation fault (CVE-2017-5834).
Malicious crafted file could cause libplist to allocate large amounts of memory and consume lots of CPU because of a memory allocation error (CVE-2017-5835).
A type inconsistency in bplist.c could cause the application to crash (CVE-2017-5836).
Crafted plist file could lead to Heap-buffer overflow (CVE-2017-6435).
Integer overflow in parse_string_node (CVE-2017-6436).
The base64encode function in base64.c allows local users to cause denial of service (out-of-bounds read) via a crafted plist file (CVE-2017-6437).
Heap-based buffer overflow in the parse_unicode_node function (CVE-2017-6438).
Heap-based buffer overflow in the parse_string_node function (CVE-2017-6439).
Ensure that sanity checks work on 32-bit platforms (CVE-2017-6440).
Add some safety checks, backported from upstream (CVE-2017-7982).
The gvfs, ifuse, kodi, libgpod, libimobiledevice, upower, and usbmuxd packages have been rebuilt for the updated libplist.
- Record
MGASA-2018-0025- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10970-1 No score
libplist++-2_0-3-2.2.0-1.6 on GA media
These are all security issues fixed in the libplist++-2_0-3-2.2.0-1.6 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10970-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:1368-1 No score
Security update for libplist
This update for libplist fixes the following security issues:
- CVE-2017-5545: The main function in plistutil.c in libimobiledevice libplist allowed attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via Apple Property List data that is too short. (bsc#1021610).
- CVE-2017-5209: The base64decode function in base64.c in libimobiledevice libplist through 1.12 allows attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data. (bsc#1019531)
- CVE-2017-5836: A type inconsistency in bplist.c was fixed. (bsc#1023807)
- CVE-2017-5835: A memory allocation error leading to DoS was fixed. (bsc#1023822)
- CVE-2017-5834: A heap-buffer overflow in parse_dict_node was fixed (bsc#1023848)
- CVE-2017-7982: Denial of service (heap-based buffer over-read and application crash) via a crafted plist file (bsc#1035312)
- CVE-2017-6440: A specially crafted plist file could lead to denial of service (bsc#1029631)
- Record
SUSE-SU-2017:1368-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:1379-1 No score
Security update for libplist
This update for libplist fixes the following issues:
- CVE-2017-5209: The base64decode function in libplist allowed attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via split encoded Apple Property List data (bsc#1019531).
- CVE-2017-5545: The main function in plistutil.c in libimobiledevice libplist allowed attackers to obtain sensitive information from process memory or cause a denial of service (buffer over-read) via Apple Property List data that is too short. (bsc#1021610).
- CVE-2017-5836: A type inconsistency in bplist.c was fixed. (bsc#1023807)
- CVE-2017-5835: A memory allocation error leading to DoS was fixed. (bsc#1023822)
- CVE-2017-5834: A heap-buffer overflow in parse_dict_node was fixed. (bsc#1023848)
- CVE-2017-6440: Ensure that sanity checks work on 32-bit platforms. (bsc#1029631)
- CVE-2017-7982: Add some safety checks, backported from upstream (bsc#1035312).
- CVE-2017-5836: A maliciously crafted file could cause the application to crash. (bsc#1023807).
- CVE-2017-5835: Malicious crafted file could cause libplist to allocate large amounts of memory and consume lots of CPU (bsc#1023822)
- CVE-2017-5834: Maliciou crafted file could cause a heap buffer overflow or segmentation fault (bsc#1023848)
- Record
SUSE-SU-2017:1379-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libplistDebian:12 |
before 1.12+git+1+e37ca00-0.1 | 1.12+git+1+e37ca00-0.1 |
libplistDebian:13 |
before 1.12+git+1+e37ca00-0.1 | 1.12+git+1+e37ca00-0.1 |
libplistDebian:14 |
before 1.12+git+1+e37ca00-0.1 | 1.12+git+1+e37ca00-0.1 |
libplistDebian:8 |
before 1.11-3+deb8u1, plus listed versions 1.11-3 |
1.11-3+deb8u1 |
libplistDebian:7 |
before 1.8-1+deb7u1, plus listed versions 1.8-1 |
1.8-1+deb7u1 |
libplistMageia:5 |
before 1.12-1.mga5 | 1.12-1.mga5 |
gvfsMageia:5 |
before 1.22.3-2.2.mga5 | 1.22.3-2.2.mga5 |
ifuseMageia:5 |
before 1.1.3-4.1.mga5 | 1.1.3-4.1.mga5 |
kodiMageia:5 |
before 14.0-2.3.mga5 | 14.0-2.3.mga5 |
libgpodMageia:5 |
before 0.8.3-8.2.mga5 | 0.8.3-8.2.mga5 |
Show 16 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libimobiledeviceMageia:5 |
before 1.1.6-4.2.mga5 | 1.1.6-4.2.mga5 |
upowerMageia:5 |
before 0.99.2-1.2.mga5 | 0.99.2-1.2.mga5 |
usbmuxdMageia:5 |
before 1.0.9-6.2.mga5 | 1.0.9-6.2.mga5 |
libplistSUSE:Linux Enterprise Desktop 12 SP1 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Software Development Kit 12 SP1 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Server 12 SP1 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Server for SAP Applications 12 SP1 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Workstation Extension 12 SP1 |
before 1.8-10.9.1 | 1.8-10.9.1 |
libplistSUSE:Linux Enterprise Desktop 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistSUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistSUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistSUSE:Linux Enterprise Server 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistSUSE:Linux Enterprise Server for SAP Applications 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistSUSE:Linux Enterprise Workstation Extension 12 SP2 |
before 1.12-19.1 | 1.12-19.1 |
libplistUbuntu:16.04:LTS |
All versions, plus listed versions 1.12-3.11.12-3.1ubuntu0.16.04.1 |
None known |
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-5209 is a critical vulnerability (CVSS 9.1) in Libimobiledevice Libplist, published January 11, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.85%, the 86th percentile. Fixed in libplist 1.12+git+1+e37ca00-0.1.
References
securityfocus.com/bid/95385
github.com/libimobiledevice/libplist/commit/3a55ddd3c4c11ce75a86afbefd085d8d397ff957
lists.debian.org/debian-lts-announce/2020/04/msg00002.html
nvd.nist.gov/vuln/detail/CVE-2017-5209
github.com/advisories/GHSA-c287-4rr6-qvj8
security-tracker.debian.org/tracker/CVE-2017-5209
Show 23 moreShow less
advisories.mageia.org/MGASA-2018-0025.html
bugs.mageia.org/show_bug.cgi?id=20232
lists.opensuse.org/opensuse-updates/2017-05/msg00094.html
lists.opensuse.org/opensuse-updates/2017-08/msg00082.html
suse.com/support/update/announcement/2017/suse-su-20171368-1
bugzilla.suse.com/1019531
bugzilla.suse.com/1021610
bugzilla.suse.com/1023807
bugzilla.suse.com/1023822
bugzilla.suse.com/1023848
bugzilla.suse.com/1029631
bugzilla.suse.com/1035312
suse.com/security/cve/CVE-2017-5209
suse.com/security/cve/CVE-2017-5545
suse.com/security/cve/CVE-2017-5834
suse.com/security/cve/CVE-2017-5835
suse.com/security/cve/CVE-2017-5836
suse.com/security/cve/CVE-2017-6440
suse.com/security/cve/CVE-2017-7982
suse.com/support/update/announcement/2017/suse-su-20171379-1
ubuntu.com/security/CVE-2017-5209
cve.org/CVERecord?id=CVE-2017-5209
suse.com/security/cve/CVE-2017-6436