{"id":25909,"date":"2026-09-18T04:32:04","date_gmt":"2026-09-17T20:32:04","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93050"},"modified":"2026-09-18T04:32:04","modified_gmt":"2026-09-17T20:32:04","slug":"cve-2026-93050","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93050","title":{"rendered":"CVE-2026-93050 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipack: ipoctal: fix U"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipack: ipoctal: fix UAF, null-ptr-deref, and use-after-free in cleanup on remove<\/p>\n<p>Three issues arise when the device is removed while a tty session is<br \/>\nstill active:<\/p>\n<p>1. UAF of struct ipoctal: the remove callback frees ipoctal via<br \/>\n   kfree() while tty ops may still access it.  Fix by introducing<br \/>\n   kref-based lifetime management \u2014 kref is taken in install() when<br \/>\n   a tty is opened and released in cleanup() when the tty is finally<br \/>\n   destroyed; remove() uses kref_put() instead of kfree().<\/p>\n<p>2. NULL dereference in ipoctal_write_tty(): __ipoctal_remove()<br \/>\n   frees xmit_buf via tty_port_free_xmit_buf() while a userspace<br \/>\n   process may still hold the tty fd and call write().  Fix by<br \/>\n   checking for NULL xmit_buf in ipoctal_write_tty().<\/p>\n<p>3. UAF in ipoctal_cleanup(): ipack_put_carrier(ipoctal-&gt;dev)<br \/>\n   dereferences ipoctal-&gt;dev after the ipack_device has been freed<br \/>\n   by ipack_device_del().  Fix by caching ipoctal-&gt;carrier_owner<br \/>\n   during probe() and calling module_put() on the cached pointer<br \/>\n   directly in cleanup(), avoiding any access to ipoctal-&gt;dev.<\/p>\n<p>Also introduce a &#8220;removed&#8221; flag in struct ipoctal, set at the start<br \/>\nof __ipoctal_remove(), and checked in every tty op that accesses<br \/>\nhardware resources (port_activate, write_tty, set_termios, hangup,<br \/>\nshutdown).  This prevents page faults when devm_ioremap() regions<br \/>\nare unmapped after remove() returns.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipack: ipoctal: fix UAF, null-ptr-deref, and use-after-free in cleanup on remove<\/p>\n<p>Three issues arise when the device is removed whi<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25909","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25909","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=25909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}