{"id":17265,"date":"2026-09-05T02:30:55","date_gmt":"2026-09-04T18:30:55","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80761"},"modified":"2026-09-05T02:30:55","modified_gmt":"2026-09-04T18:30:55","slug":"cve-2026-80761","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80761","title":{"rendered":"CVE-2026-80761 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: ISO: zero"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: ISO: zero the sockaddr before returning it in getname<\/p>\n<p>iso_sock_getname() fills a struct sockaddr_iso in place and returns its<br \/>\nsize without clearing it first, so bytes it does not write are copied to<br \/>\nuser space from the kernel stack. The getsockname(2) and getpeername(2)<br \/>\npaths both run through do_getsockname(), which hands getname() an<br \/>\nuninitialized sockaddr_storage on the stack and copies back up to the<br \/>\nnumber of bytes getname() returns, so the driver has to initialize every<br \/>\nbyte it accounts for.<\/p>\n<p>Two ranges are left uninitialized:<\/p>\n<p>  &#8211; struct sockaddr_iso is 10 bytes but only 9 are written (family,<br \/>\n    iso_bdaddr, iso_bdaddr_type), leaking the trailing pad byte on every<br \/>\n    call.<\/p>\n<p>  &#8211; for a broadcast peer (BIS_LINK or PA_LINK) the returned length grows<br \/>\n    by sizeof(struct sockaddr_iso_bc), but only bc_sid, bc_num_bis and<br \/>\n    bc_bis are filled; bc_bdaddr and bc_bdaddr_type, the first 7 bytes of<br \/>\n    that structure, are never written.<\/p>\n<p>An unprivileged process can open a BTPROTO_ISO socket and reach the pad<br \/>\nleak with getsockname(); the broadcast leak needs an established BIS\/PA<br \/>\nconnection. l2cap and rfcomm already memset their sockaddr in getname<br \/>\nfor the same reason; do the same here.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: ISO: zero the sockaddr before returning it in getname<\/p>\n<p>iso_sock_getname() fills a struct sockaddr_iso in place and retur<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-17265","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/17265","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=17265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}