{"id":"CVE-2025-39889","state":"PUBLISHED","title":"Bluetooth: l2cap: Check encryption key size on incoming connection","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: l2cap: Check encryption key size on incoming connection\n\nThis is required for passing GAP/SEC/SEM/BI-04-C PTS test case:\n  Security Mode 4 Level 4, Responder - Invalid Encryption Key Size\n  - 128 bit\n\nThis tests the security key with size from 1 to 15 bytes while the\nSecurity Mode 4 Level 4 requests 16 bytes key size.\n\nCurrently PTS fails with the following logs:\n- expected:Connection Response:\n    Code: [3 (0x03)] Code\n    Identifier: (lt)WildCard: Exists(gt)\n    Length: [8 (0x0008)]\n    Destination CID: (lt)WildCard: Exists(gt)\n    Source CID: [64 (0x0040)]\n    Result: [3 (0x0003)] Connection refused - Security block\n    Status: (lt)WildCard: Exists(gt),\nbut received:Connection Response:\n    Code: [3 (0x03)] Code\n    Identifier: [1 (0x01)]\n    Length: [8 (0x0008)]\n    Destination CID: [64 (0x0040)]\n    Source CID: [64 (0x0040)]\n    Result: [0 (0x0000)] Connection Successful\n    Status: [0 (0x0000)] No further information available\n\nAnd HCI logs:\n< HCI Command: Read Encrypti.. (0x05|0x0008) plen 2\n        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)\n> HCI Event: Command Complete (0x0e) plen 7\n      Read Encryption Key Size (0x05|0x0008) ncmd 1\n        Status: Success (0x00)\n        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)\n        Key size: 7\n> ACL Data RX: Handle 14 flags 0x02 dlen 12\n      L2CAP: Connection Request (0x02) ident 1 len 4\n        PSM: 4097 (0x1001)\n        Source CID: 64\n< ACL Data TX: Handle 14 flags 0x00 dlen 16\n      L2CAP: Connection Response (0x03) ident 1 len 8\n        Destination CID: 64\n        Source CID: 64\n        Result: Connection successful (0x0000)\n        Status: No further information available (0x0000)","publishedAt":"2025-09-24T11:02:51.036Z","updatedAt":"2026-08-05T12:05:55.274Z","severity":{"score":8.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4f911a538e089cce808a15dc3277250f4f8daef9","status":"affected","lessThan":"ed503d340a501e414114ddc614a3aae4f6e9eae2","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"24b2cdfc16e9bd6ab3d03b8e01c590755bd3141f","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"c6d527bbd3d3896375079f5dbc8b7f96734a3ba5","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"9e3114958d87ea88383cbbf38c89e04b8ea1bce5","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"d49798ecd26e0ee7995a7fc1e90ca5cd9b4402d6","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"d4ca2fd218caafbf50e3343ba1260c6a23b5676a","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"522e9ed157e3c21b4dd623c79967f72c21e45b78","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.11","versionType":"semver"},{"version":"5.15.181","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.135","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.88","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.25","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.14.4","status":"unaffected","lessThanOrEqual":"6.14.*","versionType":"semver"},{"version":"6.15","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]}],"references":["https://git.kernel.org/stable/c/ed503d340a501e414114ddc614a3aae4f6e9eae2","https://git.kernel.org/stable/c/24b2cdfc16e9bd6ab3d03b8e01c590755bd3141f","https://git.kernel.org/stable/c/c6d527bbd3d3896375079f5dbc8b7f96734a3ba5","https://git.kernel.org/stable/c/9e3114958d87ea88383cbbf38c89e04b8ea1bce5","https://git.kernel.org/stable/c/d49798ecd26e0ee7995a7fc1e90ca5cd9b4402d6","https://git.kernel.org/stable/c/d4ca2fd218caafbf50e3343ba1260c6a23b5676a","https://git.kernel.org/stable/c/522e9ed157e3c21b4dd623c79967f72c21e45b78"],"weaknesses":["CWE-326"],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/39xxx/CVE-2025-39889.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-39889","state":"PUBLISHED","datePublished":"2025-09-24T11:02:51.036Z","dateUpdated":"2026-08-05T12:05:55.274Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T07:20:57.145Z"},"containers":{"cna":{"title":"Bluetooth: l2cap: Check encryption key size on incoming connection","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: l2cap: Check encryption key size on incoming connection\n\nThis is required for passing GAP/SEC/SEM/BI-04-C PTS test case:\n  Security Mode 4 Level 4, Responder - Invalid Encryption Key Size\n  - 128 bit\n\nThis tests the security key with size from 1 to 15 bytes while the\nSecurity Mode 4 Level 4 requests 16 bytes key size.\n\nCurrently PTS fails with the following logs:\n- expected:Connection Response:\n    Code: [3 (0x03)] Code\n    Identifier: (lt)WildCard: Exists(gt)\n    Length: [8 (0x0008)]\n    Destination CID: (lt)WildCard: Exists(gt)\n    Source CID: [64 (0x0040)]\n    Result: [3 (0x0003)] Connection refused - Security block\n    Status: (lt)WildCard: Exists(gt),\nbut received:Connection Response:\n    Code: [3 (0x03)] Code\n    Identifier: [1 (0x01)]\n    Length: [8 (0x0008)]\n    Destination CID: [64 (0x0040)]\n    Source CID: [64 (0x0040)]\n    Result: [0 (0x0000)] Connection Successful\n    Status: [0 (0x0000)] No further information available\n\nAnd HCI logs:\n< HCI Command: Read Encrypti.. (0x05|0x0008) plen 2\n        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)\n> HCI Event: Command Complete (0x0e) plen 7\n      Read Encryption Key Size (0x05|0x0008) ncmd 1\n        Status: Success (0x00)\n        Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.)\n        Key size: 7\n> ACL Data RX: Handle 14 flags 0x02 dlen 12\n      L2CAP: Connection Request (0x02) ident 1 len 4\n        PSM: 4097 (0x1001)\n        Source CID: 64\n< ACL Data TX: Handle 14 flags 0x00 dlen 16\n      L2CAP: Connection Response (0x03) ident 1 len 8\n        Destination CID: 64\n        Source CID: 64\n        Result: Connection successful (0x0000)\n        Status: No further information available (0x0000)"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4f911a538e089cce808a15dc3277250f4f8daef9","status":"affected","lessThan":"ed503d340a501e414114ddc614a3aae4f6e9eae2","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"24b2cdfc16e9bd6ab3d03b8e01c590755bd3141f","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"c6d527bbd3d3896375079f5dbc8b7f96734a3ba5","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"9e3114958d87ea88383cbbf38c89e04b8ea1bce5","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"d49798ecd26e0ee7995a7fc1e90ca5cd9b4402d6","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"d4ca2fd218caafbf50e3343ba1260c6a23b5676a","versionType":"git"},{"version":"288c06973daae4637f25a0d1bdaf65fdbf8455f9","status":"affected","lessThan":"522e9ed157e3c21b4dd623c79967f72c21e45b78","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.11","versionType":"semver"},{"version":"5.15.181","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.135","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.88","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.25","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.14.4","status":"unaffected","lessThanOrEqual":"6.14.*","versionType":"semver"},{"version":"6.15","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ed503d340a501e414114ddc614a3aae4f6e9eae2"},{"url":"https://git.kernel.org/stable/c/24b2cdfc16e9bd6ab3d03b8e01c590755bd3141f"},{"url":"https://git.kernel.org/stable/c/c6d527bbd3d3896375079f5dbc8b7f96734a3ba5"},{"url":"https://git.kernel.org/stable/c/9e3114958d87ea88383cbbf38c89e04b8ea1bce5"},{"url":"https://git.kernel.org/stable/c/d49798ecd26e0ee7995a7fc1e90ca5cd9b4402d6"},{"url":"https://git.kernel.org/stable/c/d4ca2fd218caafbf50e3343ba1260c6a23b5676a"},{"url":"https://git.kernel.org/stable/c/522e9ed157e3c21b4dd623c79967f72c21e45b78"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":8.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"Bluetooth L2CAP accepts incoming connections with encryption key sizes 1-15 bytes when Security Mode 4 Level 4 requires 16 bytes. Missing l2cap_check_enc_key_size() call allows weak encryption bypass by a nearby device to eavesdrop on or modify encrypted traffic."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:05:55.274Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"5.15.181"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.1.135"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.6.88"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.12.25"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.14.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.15"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.5,"attackVector":"LOCAL","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-01-14T17:37:06.505788Z","id":"CVE-2025-39889","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-326","type":"CWE","lang":"en","description":"CWE-326 Inadequate Encryption Strength"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-01-14T17:37:26.762Z"}}]}}}