---
id: CVE-2025-39889
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: l2cap: Check encryption key size on incoming connection

  This is required for passing GAP/SEC/SEM/BI-04-C PTS test case:
    Security Mode 4 Level 4, Responder…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: l2cap: Check encryption key size on incoming connection

  This is required for passing GAP/SEC/SEM/BI-04-C PTS test case:
    Security Mode 4 Level 4, Responder…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-326
  - CWE-326
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.11, < 5.15.181'
  - 'linux_kernel >= 5.16, < 6.1.135'
  - 'linux_kernel >= 6.2, < 6.6.88'
  - 'linux_kernel >= 6.7, < 6.12.25'
  - 'linux_kernel >= 6.13, < 6.14.4'
  - linux_kernel = 6.15
patched:
  - linux_kernel 6.14.4
published: '2025-09-24'
updated: '2026-09-26'
sourceUpdated: '2026-09-26T00:10:00.127'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-39889'
references:
  - url: 'https://git.kernel.org/stable/c/24b2cdfc16e9bd6ab3d03b8e01c590755bd3141f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/522e9ed157e3c21b4dd623c79967f72c21e45b78'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9e3114958d87ea88383cbbf38c89e04b8ea1bce5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c6d527bbd3d3896375079f5dbc8b7f96734a3ba5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d49798ecd26e0ee7995a7fc1e90ca5cd9b4402d6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d4ca2fd218caafbf50e3343ba1260c6a23b5676a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ed503d340a501e414114ddc614a3aae4f6e9eae2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00096
epssPercentile: 0.0067
ingestedAt: '2026-09-26T00:22:39.950Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: l2cap: Check encryption key size on incoming connection

This is required for passing GAP/SEC/SEM/BI-04-C PTS test case:
  Security Mode 4 Level 4, Responder - Invalid Encryption Key Size
  - 128 bit

This tests the security key with size from 1 to 15 bytes while the
Security Mode 4 Level 4 requests 16 bytes key size.

Currently PTS fails with the following logs:
- expected:Connection Response:
    Code: [3 (0x03)] Code
    Identifier: (lt)WildCard: Exists(gt)
    Length: [8 (0x0008)]
    Destination CID: (lt)WildCard: Exists(gt)
    Source CID: [64 (0x0040)]
    Result: [3 (0x0003)] Connection refused - Security block
    Status: (lt)WildCard: Exists(gt),
but received:Connection Response:
    Code: [3 (0x03)] Code
    Identifier: [1 (0x01)]
    Length: [8 (0x0008)]
    Destination CID: [64 (0x0040)]
    Source CID: [64 (0x0040)]
    Result: [0 (0x0000)] Connection Successful
    Status: [0 (0x0000)] No further information available

And HCI logs:
< HCI Command: Read Encrypti.. (0x05|0x0008) plen 2
        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)
> HCI Event: Command Complete (0x0e) plen 7
      Read Encryption Key Size (0x05|0x0008) ncmd 1
        Status: Success (0x00)
        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)
        Key size: 7
> ACL Data RX: Handle 14 flags 0x02 dlen 12
      L2CAP: Connection Request (0x02) ident 1 len 4
        PSM: 4097 (0x1001)
        Source CID: 64
< ACL Data TX: Handle 14 flags 0x00 dlen 16
      L2CAP: Connection Response (0x03) ident 1 len 8
        Destination CID: 64
        Source CID: 64
        Result: Connection successful (0x0000)
        Status: No further information available (0x0000)

## Affected

- `linux_kernel >= 5.11, < 5.15.181`
- `linux_kernel >= 5.16, < 6.1.135`
- `linux_kernel >= 6.2, < 6.6.88`
- `linux_kernel >= 6.7, < 6.12.25`
- `linux_kernel >= 6.13, < 6.14.4`
- `linux_kernel = 6.15`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.14.4`
