Cloudanix VulnDB

CVE-2017-7982

Medium · 5.5

CVSS

5.5

EPSS

1.5%

Published

Apr 20, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in software that reads certain data files can make programs crash when they open a specially made file, potentially interrupting work until the software is updated.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in plist_from_bin allows a crafted plist file to trigger a heap-based buffer over-read and application crash.

Why it matters to the business

Applications that parse untrusted plist files can crash unexpectedly, causing service outages or loss of availability for tools that depend on the library.

How an attack unfolds

An attacker creates a specially crafted plist file that triggers the integer overflow during parsing; when the file is opened by any affected application the process crashes, resulting in denial of service.

How to fix it

Upgrade go-md2man and go-md2man-doc packages to version 2.0.4-r4 or later on all Chainguard and Wolfi distributions; rebuild any downstream containers or images that embed the vulnerable library.

How to confirm the fix worked

Confirm package versions match or exceed the fixed releases, run regression tests with known malicious plist samples, and verify that parsing no longer produces crashes or over-reads.

Typical attack path

  1. Craft a malicious plist file that exploits the integer overflow
  2. Deliver the file to a target system via email, web download, or shared storage
  3. Trick a user or automated process into opening or processing the file
  4. Trigger the crash in the plist parsing routine

How to detect it

Review application crash logs and core dumps for signs of plist parsing failures; search process logs for abnormal termination while handling .plist files.

What your security team should do

  • Immediately update all instances of go-md2man and go-md2man-doc to 2.0.4-r4 or newer
  • Scan build pipelines and container images for the vulnerable versions
  • Add plist parsing to the list of file types that require untrusted-input hardening
  • Monitor for application crashes during plist handling as an operational indicator

The record

Integer overflow in the plist_from_bin function in bplist.c in libimobiledevice/libplist before 2017-04-19 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted plist file.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 libplist 0 1.12+git+1+e37ca00-0.3
Debian:12 libplist 0 1.12+git+1+e37ca00-0.3
Debian:13 libplist 0 1.12+git+1+e37ca00-0.3
Debian:8 libplist 0 1.11-3+deb8u1
Mageia:5 gvfs 0 1.22.3-2.2.mga5
Mageia:5 ifuse 0 1.1.3-4.1.mga5
Mageia:5 kodi 0 14.0-2.3.mga5
Mageia:5 libgpod 0 0.8.3-8.2.mga5
Mageia:5 libimobiledevice 0 1.1.6-4.2.mga5
Mageia:5 libplist 0 1.12-1.mga5
Mageia:5 upower 0 0.99.2-1.2.mga5
Mageia:5 usbmuxd 0 1.0.9-6.2.mga5
SUSE:Linux Enterprise Desktop 12 SP1 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Desktop 12 SP2 libplist 0 1.12-19.1
SUSE:Linux Enterprise Server 12 SP1 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Server 12 SP2 libplist 0 1.12-19.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 libplist 0 1.12-19.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 libplist 0 1.12-19.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 libplist 0 1.12-19.1
SUSE:Linux Enterprise Workstation Extension 12 SP1 libplist 0 1.8-10.9.1
SUSE:Linux Enterprise Workstation Extension 12 SP2 libplist 0 1.12-19.1
Ubuntu:14.04:LTS libplist 0 1.10-1ubuntu0.1
Ubuntu:16.04:LTS libplist 0 1.12-3.1ubuntu0.16.04.1

Related vulnerabilities