Cloudanix VulnDB

CVE-2018-14498

Medium · 6.5

CVSS

6.5

EPSS

3.1%

Published

Mar 7, 2019

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in an image library can make programs that open certain picture files crash when they encounter a specially made image.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap-based buffer over-read in get_8bit_row when parsing an 8-bit BMP with color indices exceeding the palette size, resulting in application crash.

Why it matters to the business

Image-processing applications and services can be crashed by specially crafted image files, leading to denial of service and operational disruption until the process is restarted.

How an attack unfolds

An attacker creates a malicious 8-bit BMP file where one or more palette indices are larger than the actual number of palette entries and delivers the file to a victim application that uses the vulnerable libjpeg-turbo library; when the library attempts to read the row data, the out-of-range index triggers the buffer over-read and crash.

How to fix it

Upgrade libjpeg-turbo to the commit 9c78a04df4e44ef6487eee99c4258397f4fdca55 or later; rebuild and redeploy all dependent applications and libraries that statically or dynamically link the affected version.

How to confirm the fix worked

Confirm the installed libjpeg-turbo binary or source matches or exceeds commit 9c78a04df4e44ef6487eee99c4258397f4fdca55; re-test with the original proof-of-concept BMP to verify the crash no longer occurs.

Typical attack path

  1. Craft a BMP image with an 8-bit palette and out-of-range color indices
  2. Host or transmit the malformed image to a target that processes it with libjpeg-turbo
  3. Trigger image decoding in the vulnerable code path
  4. Cause heap over-read and subsequent application crash

How to detect it

Monitor application and system logs for unexpected crashes or segmentation faults during BMP decoding; review process dumps or core files that show faults originating in rdbmp.c or get_8bit_row.

What your security team should do

  • Prioritize upgrade of libjpeg-turbo in all image-handling services within the next maintenance window
  • Scan build pipelines and container images for the vulnerable commit range and enforce the fixed version
  • Add the malicious BMP pattern to regression test suites for image parsers

The record

get_8bit_row in rdbmp.c in libjpeg-turbo through 1.5.90 and MozJPEG through 3.3.1 allows attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted 8-bit BMP in which one or more of the color indices is out of range for the number of palette entries.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 turbojpeg-devel 0 1.5.3-10.el8
Alpine:v3.7 libjpeg-turbo 0 1.5.3-r3
Alpine:v3.8 libjpeg-turbo 0 1.5.3-r5
Alpine:v3.9 libjpeg-turbo 0 1.5.3-r5
Debian:11 libjpeg-turbo 0 1:2.0.5-1
Debian:12 libjpeg-turbo 0 1:2.0.5-1
Debian:13 libjpeg-turbo 0 1:2.0.5-1
Debian:8 libjpeg-turbo 0 1:1.3.1-12+deb8u2
Debian:9 libjpeg-turbo 0 1:1.5.1-2+deb9u1
Mageia:6 libjpeg 0 1.5.1-1.3.mga6
Red Hat:enterprise_linux:7::client libjpeg-turbo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client libjpeg-turbo-debuginfo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client libjpeg-turbo-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client libjpeg-turbo-static 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client libjpeg-turbo-utils 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client turbojpeg 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::client turbojpeg-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode libjpeg-turbo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode libjpeg-turbo-debuginfo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode libjpeg-turbo-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode libjpeg-turbo-static 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode libjpeg-turbo-utils 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode turbojpeg 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::computenode turbojpeg-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server libjpeg-turbo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server libjpeg-turbo-debuginfo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server libjpeg-turbo-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server libjpeg-turbo-static 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server libjpeg-turbo-utils 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server turbojpeg 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::server turbojpeg-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation libjpeg-turbo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation libjpeg-turbo-debuginfo 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation libjpeg-turbo-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation libjpeg-turbo-static 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation libjpeg-turbo-utils 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation turbojpeg 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:7::workstation turbojpeg-devel 0 0:1.2.90-8.el7
Red Hat:enterprise_linux:8::appstream libjpeg-turbo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream libjpeg-turbo-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream libjpeg-turbo-debugsource 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream libjpeg-turbo-devel 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream libjpeg-turbo-utils 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream libjpeg-turbo-utils-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream turbojpeg 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream turbojpeg-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::appstream turbojpeg-devel 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo-debugsource 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo-devel 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo-utils 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb libjpeg-turbo-utils-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb turbojpeg 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb turbojpeg-debuginfo 0 0:1.5.3-10.el8
Red Hat:enterprise_linux:8::crb turbojpeg-devel 0 0:1.5.3-10.el8
Rocky Linux:8 libjpeg-turbo 0 0:1.5.3-10.el8
SUSE:Linux Enterprise Desktop 12 SP3 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Desktop 12 SP3 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Desktop 12 SP4 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Desktop 12 SP4 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Module for Basesystem 15 libjpeg-turbo 0 1.5.3-5.7.1
SUSE:Linux Enterprise Module for Basesystem 15 libjpeg62-turbo 0 1.5.3-5.7.1
SUSE:Linux Enterprise Module for Desktop Applications 15 libjpeg-turbo 0 1.5.3-5.7.1
SUSE:Linux Enterprise Module for Package Hub 15 libjpeg-turbo 0 1.5.3-5.7.1
SUSE:Linux Enterprise Server 12 SP3 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server 12 SP3 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server 12 SP4 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server 12 SP4 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Software Development Kit 12 SP3 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Software Development Kit 12 SP3 libjpeg62-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Software Development Kit 12 SP4 libjpeg-turbo 0 1.5.3-31.14.2
SUSE:Linux Enterprise Software Development Kit 12 SP4 libjpeg62-turbo 0 1.5.3-31.14.2
Ubuntu:16.04:LTS libjpeg-turbo 0 1.4.2-0ubuntu3.3
Ubuntu:18.04:LTS libjpeg-turbo 0 1.5.2-0ubuntu5.18.04.3
Ubuntu:20.04:LTS libjpeg-turbo 0 2.0.3-0ubuntu1
Ubuntu:22.04:LTS libjpeg-turbo 0 2.1.2-0ubuntu1
Ubuntu:Pro:14.04:LTS libjpeg-turbo 0 1.3.0-0ubuntu2.1+esm2
Ubuntu:Pro:16.04:LTS libjpeg-turbo 0 1.4.2-0ubuntu3.4+esm1
openSUSE:Leap 15.0 libjpeg-turbo 0 1.5.3-lp150.4.3.2
openSUSE:Leap 15.0 libjpeg62-turbo 0 1.5.3-lp150.4.3.2

Related vulnerabilities