Cloudanix VulnDB

CVE-2019-13648

Medium · 5.5

CVSS

5.5

EPSS

0.6%

Published

Jul 19, 2019

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A local user on certain older Linux systems for IBM-style processors can crash the entire machine by sending a specially made command to the kernel.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

A local process on powerpc can invoke sigreturn() with a malformed signal frame, triggering a TM Bad Thing exception that crashes the kernel when hardware transactional memory is disabled.

Why it matters to the business

Unexpected system crashes on affected powerpc servers and devices cause loss of availability, interrupt workloads, and require manual restarts, increasing operational overhead on long-running systems.

How an attack unfolds

An attacker with local shell access crafts a signal frame containing invalid transactional memory state and passes it to the kernel via the sigreturn system call, forcing an unhandled exception that terminates the system.

How to fix it

Upgrade the Linux kernel to a version newer than 5.2.1 that contains the fixes for arch/powerpc/kernel/signal_32.c and signal_64.c; apply vendor-supplied patches if backported; disable unnecessary local user accounts until patched.

How to confirm the fix worked

Boot the updated kernel and confirm the signal handling paths no longer allow a crafted frame to reach the TM Bad Thing exception handler; run regression tests exercising sigreturn on powerpc with HTM disabled.

Typical attack path

  1. Obtain local user access on a powerpc Linux system
  2. Disable or confirm hardware transactional memory is off
  3. Construct a crafted signal frame in user space
  4. Invoke sigreturn() with the malicious frame
  5. Trigger kernel exception leading to immediate crash

How to detect it

Search kernel logs and crash dumps for references to signal_32.c, signal_64.c, or TM Bad Thing exceptions occurring around the time of unexpected reboots; correlate with processes that recently called sigreturn.

  • TM Bad Thing exception
  • arch/powerpc/kernel/signal_32.c
  • arch/powerpc/kernel/signal_64.c

What your security team should do

  • Prioritize kernel updates on all powerpc systems within the next maintenance window
  • Restrict local accounts that can execute arbitrary binaries until patches are applied
  • Monitor kernel logs for TM Bad Thing exceptions as an interim detection measure

The record

In the Linux kernel through 5.2.1 on the powerpc platform, when hardware transactional memory is disabled, a local user can cause a denial of service (TM Bad Thing exception and system crash) via a sigreturn() system call that sends a crafted signal frame. This affects arch/powerpc/kernel/signal_32.c and arch/powerpc/kernel/signal_64.c.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 linux 0 4.19.37-5+deb10u2
Debian:11 linux 0 5.2.6-1
Debian:12 linux 0 5.2.6-1
Debian:13 linux 0 5.2.6-1
Debian:8 linux-4.9 0 4.9.168-1+deb9u5~deb8u1
Debian:9 linux 0 4.9.168-1+deb9u5
Red Hat:enterprise_linux:7::client bpftool 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client bpftool-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode bpftool 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode bpftool-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server bpftool 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server bpftool-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation bpftool 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation bpftool-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs-devel 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation python-perf 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:7::workstation python-perf-debuginfo 0 0:3.10.0-1127.el7
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-abi-whitelists 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-abi-whitelists 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-147.el8
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-147.el8
Red Hat:rhel_eus:7.7::computenode bpftool 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode bpftool-debuginfo 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-abi-whitelists 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-bootwrapper 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debug 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debug-debuginfo 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debug-devel 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debuginfo 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-1062.30.1.el7
Red Hat:rhel_eus:7.7::computenode kernel-devel 0 0:3.10.0-1062.30.1.el7

Related vulnerabilities