Back to the CVE list
CVE-2026-19938

Use-after-free of an ATT PDU buffer when signing an outgoing Bluetooth ATT Signed Write Command fails

CVSS score

5.9

EPSS probability

—

Risk score

0.6

Published

3 h ago

Official patch verified

Etkilenen ürün ve sürüm için yayımlanan güvenlik güncellemesini uygulayın.

Impact on My Inventory

Only the personal products you have added to your account are assessed; an organisation's inventory does not appear here.

Checking session…

Vulnerability description

CVE AI research

The stored explanation is shown at once; refreshing evaluates the sources again.

DayBreach AI Explanation

Verified against sources

CVE-2026-19938: Use-After-Free and Memory Corruption in Bluetooth Stack

Sources read

1

Source agreement

Tam uyum

Evidence confidence

%55

Short explanation

CVE-2026-19938 is a use-after-free vulnerability caused by the Bluetooth host's ATT transmit path releasing a buffer it does not own when signing fails on outgoing Bluetooth ATT Signed Write Commands, leading to memory corruption.

Why does it matter?

This vulnerability can lead to host-side memory corruption, crashes, or assertion failures within the Bluetooth stack. Exploitation requires the deprecated CONFIG_BT_SIGNING configuration to be enabled along with specific application interaction.

What should be done?

  • Apply the provided patch reference or fixed version
  • Follow vendor advisories
  • Review the CONFIG_BT_SIGNING configuration
Chain of evidence and sources2 verified claims

Bluetooth ATT iletim yolu imzalama hatası durumunda sahip olmadığı bir arabelleği serbest bırakmaktadır.

Zafiyetin etkisi Bluetooth yığınında host tarafında bellek bozulması ve çökmedir.

Show the technical text from the sources

The Bluetooth host's ATT transmit path releases a buffer it does not own when signing fails. chan_send() in subsys/bluetooth/host/att.c documents (and every other error exit implements) the contract that on failure the caller retains ownership of the net_buf; the BT_ATT_OP_SIGNED_WRITE_CMD branch instead called net_buf_unref(buf) when bt_smp_sign() returned an error and then returned that error to the caller. The callers act on the contract: process_queue() re-queues the buffer with k_queue_prepend(), bt_att_chan_send_rsp() puts it back on chan->tx_queue, bt_att_chan_req_send() restores it into the request, and att_req_retry() unreferences it — so the already-freed buffer was re-queued, later dereferenced, and eventually freed again. An ATT Signed Write Command is produced when an application calls bt_gatt_write_without_response_cb() with sign set on an unencrypted connection. bt_smp_sign() fails whenever no local CSRK exists for the peer (-ENOENT), and whether one exists is negotiated with the peer: smp_distribute_keys() stores a local CSRK only when the peer's pairing key-distribution field requests the signing key and bonding was agreed. A peer can therefore pair without accepting the CSRK, pair with No Bonding, remain unpaired, or keep the link unencrypted, and the victim's next signed write takes the failing path. Because struct net_buf's node field is simultaneously the linkage word for the ATT TX FIFO, for the deferred-destroy list used by the att_pool destroy callback att_tx_destroy(), and for the pool free list, the mishandled buffer corrupts these lists and can be re-issued by bt_att_create_pdu() to a new PDU while the ATT TX path still holds it. The same branch also saved the net_buf_simple_state only after signing, so a buffer restored after a bt_l2cap_send_pdu() failure kept its 12-octet signature; a subsequent retry re-signed it and appended a second signature with net_buf_add(buf, 12) to a buffer that bt_att_create_pdu() sized for exactly one, writing past the end of the pooled buffer in builds where the net_buf tailroom assertion is compiled out. Impact is host-side memory corruption in the Bluetooth stack: list corruption, a pooled ATT buffer with two owners (wrong PDU contents transmitted, or a double free when the queues are drained at disconnect), and a bounded out-of-bounds write on the retry path — typically observed as a crash or assertion failure. Exposure requires the deprecated CONFIG_BT_SIGNING to be enabled and an application that actually issues signed writes; in that configuration the triggering condition is under the remote peer's control.

CVSS vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H

CWE: CWE-416

Explanation produced with the local gemini-flash-lite-latest model. Numerical metrics and the KEV, patch and exploit statuses are not determined by AI.

IMPACT: Affected Products and Software

Affected Products

The following products are affected by CVE-2026-19938 vulnerability. Where our threat engine knows the exact affected versions, they are listed below.

IDVENDORPRODUCTACTION
1zephyrprojectzephyr View
Total affected vendors: 1|Products: 1

RED HAT CSAF/VEX: Product Impact Check

Red Hat has not yet published a CSAF/VEX impact record for this CVE. This does not mean “not affected”.

SCORING: CVSS from Multiple Sources

CVSS Scores

The Common Vulnerability Scoring System is a standardised framework for assessing the severity of vulnerabilities in software and systems. We collect and display CVSS scores from several sources for each CVE.

SCOREVERSIONSEVERITYVECTORSOURCE
5.9CVSS V31MEDIUMCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:HNVD
5.9CVSS V3_1MEDIUMCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:HCVE CNA

Patch and Remediation Guide

Solution & Remediation Advisory

Patch verified

2 doğrulanmış yama veya düzeltilmiş sürüm kanıtı bulundu.

cvelist

Fix commit

Open source
reference

Fix commit

Open source
Confirm the affected product and version against the source evidence above.
Restrict access to internet-facing services and apply network segmentation.
Apply the official update named in the evidence only to the matching product and version.
Monitor server logs and network endpoints for signs of anomalous execution.

Public exploit and active exploitation status

Verified exploit intelligence

No verified public PoC, exploit repository or Metasploit module has been found for this CVE yet.

Weakness Classification and Attack Patterns (CWE & CAPEC)

CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorises the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-19938 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-19938 weaknesses.

Attack Vector and Accessibility

ExposureBitişik ağ
PermissionsGerekmiyor
UserGerekmiyor

Official Sources and Advisories

CVSS Vector Radar Chart

5.9 / 10
Attack VectorAdjacentComplexityHighPrivilegesNoneUser Interact.NoneConfidentialityHighIntegrityNoneAvailabilityHigh

Vulnerability Scoring Details

CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
Attack VectorAdjacent network
Attack ComplexityHigh
Privileges RequiredNone required
User InteractionNone required
Confidentiality (Gizlilik)High
Integrity (Bütünlük)None
Availability (Erişilebilirlik)High

Yama doğrulandı

2 doğrulanmış yama veya düzeltilmiş sürüm kanıtı bulundu.

Follow the vendor

Weakness Type (CWE & CAPEC)

Similar Vulnerabilities

Get this vulnerability through the API

Affected products, version ranges, exploitation status and patch information in a single request, with a free key.

curl -H "x-api-key: $DAYBREACH_API_KEY" \
  "https://api.enginteksut.com.tr/api/v1/intel/cves/CVE-2026-19938"