Cloudanix VulnDB

CVE-2019-8922

High · 8.8

CVSS

8.8

EPSS

1.5%

Published

Nov 29, 2021

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A nearby attacker can take control of devices running vulnerable Bluetooth software without any user action.

Exploit Available
Exploitation
Adjacent Network
Attacker needs
None
Complexity
Low
Impact
Full Compromise
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap-based buffer overflow in service_attr_req called by process_request due to unconditional appending of attribute values into a preallocated response buffer with no size validation.

Why it matters to the business

Remote code execution or service crash on Bluetooth-enabled systems; high operational risk for any device using the affected Bluetooth stack given public exploit availability and 1773 days since disclosure.

How an attack unfolds

An attacker on the local Bluetooth network sends a crafted SDP service attribute request; the daemon allocates a response buffer then appends all returned attribute data without bounds checks, overflowing the heap and enabling code execution or denial of service.

How to fix it

Upgrade grpc/grpc-swift to commit 858f977f2a51fca2292f384cf7a108dc2e73a3bd; apply equivalent patches or updates for any BlueZ installations still at or below version 5.48.

How to confirm the fix worked

Confirm the commit or package version matches the fixed revision; recompile and test SDP attribute requests to verify buffer-size checks are present and no overflow occurs.

Typical attack path

  1. Establish SDP connection to target Bluetooth daemon
  2. Send malicious service_attr_req with oversized attribute data
  3. Trigger uncontrolled append into undersized response buffer
  4. Achieve heap corruption leading to RCE or crash

How to detect it

Review Bluetooth daemon logs and system crash reports for heap corruption indicators around SDP request handling; look for repeated large attribute responses or sudden bluetoothd restarts.

What your security team should do

  • Prioritize patching all instances of the affected Bluetooth stack or grpc-swift dependency within 48 hours
  • Disable SDP service if not required
  • Monitor for anomalous Bluetooth traffic and heap-related crashes
  • Review downstream dependents for similar exposure given ecosystem prevalence

The record

A heap-based buffer overflow was discovered in bluetoothd in BlueZ through 5.48. There isn't any check on whether there is enough space in the destination buffer. The function simply appends all data passed to it. The values of all attributes that are requested are appended to the output buffer. There are no size checks whatsoever, resulting in a simple heap overflow if one can craft a request where the response is large enough to overflow the preallocated buffer. This issue exists in service_attr_req gets called by process_request (in sdpd-request.c), which also allocates the response buffer.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 bluez 0 5.50-1.2~deb10u3
Debian:11 bluez 0 5.54-1
Debian:12 bluez 0 5.54-1
Debian:13 bluez 0 5.54-1
Debian:9 bluez 0 5.43-2+deb9u5
SUSE:Enterprise Storage 6 bluez 0 5.48-150000.5.34.1
SUSE:Enterprise Storage 6 bluez 0 5.48-150000.5.41.1
SUSE:Enterprise Storage 7 bluez 0 5.48-150200.13.8.1
SUSE:Enterprise Storage 7 bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS bluez 0 5.48-150200.13.8.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS bluez 0 5.48-150200.13.8.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server 12 SP2-BCL bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server 12 SP3-BCL bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server 12 SP4-LTSS bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server 12 SP5 bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server 15 SP1-BCL bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise Server 15 SP1-BCL bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server 15 SP1-LTSS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise Server 15 SP1-LTSS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server 15 SP2-BCL bluez 0 5.48-150200.13.8.1
SUSE:Linux Enterprise Server 15 SP2-BCL bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise Server 15 SP2-LTSS bluez 0 5.48-150200.13.8.1
SUSE:Linux Enterprise Server 15 SP2-LTSS bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise Server 15-LTSS bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise Server 15-LTSS bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Server for SAP Applications 15 bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise Server for SAP Applications 15 bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 bluez 0 5.48-150000.5.34.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 bluez 0 5.48-150000.5.41.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 bluez 0 5.48-150200.13.8.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 bluez 0 5.48-150200.13.17.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 bluez 0 5.13-5.26.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 bluez 0 5.13-5.26.1
SUSE:Manager Proxy 4.1 bluez 0 5.48-150200.13.8.1
SUSE:Manager Proxy 4.1 bluez 0 5.48-150200.13.17.1
SUSE:Manager Retail Branch Server 4.1 bluez 0 5.48-150200.13.8.1
SUSE:Manager Retail Branch Server 4.1 bluez 0 5.48-150200.13.17.1
SUSE:Manager Server 4.1 bluez 0 5.48-150200.13.8.1
SUSE:Manager Server 4.1 bluez 0 5.48-150200.13.17.1
SUSE:OpenStack Cloud 9 bluez 0 5.13-5.26.1
SUSE:OpenStack Cloud Crowbar 9 bluez 0 5.13-5.26.1
Ubuntu:18.04:LTS bluez 0 5.48-0ubuntu3.7
Ubuntu:20.04:LTS bluez 0 5.53-0ubuntu3
Ubuntu:Pro:16.04:LTS bluez 0 No fix
Ubuntu:Pro:16.04:LTS bluez 0 5.37-0ubuntu5.3+esm5

Related vulnerabilities