{"id":21505,"date":"2026-09-12T04:31:16","date_gmt":"2026-09-11T20:31:16","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89583"},"modified":"2026-09-12T04:31:16","modified_gmt":"2026-09-11T20:31:16","slug":"cve-2026-89583","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89583","title":{"rendered":"CVE-2026-89583 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: eir: Fix O"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: eir: Fix OOB read in eir_get_service_data()<\/p>\n<p>eir_get_service_data() walks the advertising data for a Service Data<br \/>\nfield with a matching UUID.  On a mismatch it advances:<\/p>\n<p>    eir += dlen;<br \/>\n    eir_len -= dlen;<\/p>\n<p>eir_get_data() reports dlen as the field&#8217;s data length, but the field<br \/>\nspans dlen + 2 bytes once its length and type bytes count, and more<br \/>\nwhen non-Service-Data fields were skipped to reach it.  The pointer<br \/>\nlands correctly on the next field.  eir_len does not, and the shortfall<br \/>\ncompounds across fields until eir_get_data() reads the length and type<br \/>\nbytes of a &#8220;field&#8221; past the end of the buffer.<\/p>\n<p>For an ISO broadcast sink that buffer is hcon-&gt;le_per_adv_data[], filled<br \/>\nfrom the periodic advertising reports of a remote broadcaster.  A PA<br \/>\npayload packed with mismatching Service Data fields walks off the array<br \/>\ninto the rest of struct hci_conn.  A drifted field that matches the BAA<br \/>\nUUID puts those bytes in iso_pi(sk)-&gt;base, where user space reads them<br \/>\nback with getsockopt(BT_ISO_BASE).<\/p>\n<p>Recompute eir_len from the end of the buffer each iteration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: eir: Fix OOB read in eir_get_service_data()<\/p>\n<p>eir_get_service_data() walks the advertising data for a Service Data<br \/>\nfield <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21505","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}