{"id":41003,"date":"2026-10-19T00:31:48","date_gmt":"2026-10-18T16:31:48","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98531"},"modified":"2026-10-19T00:31:48","modified_gmt":"2026-10-18T16:31:48","slug":"cve-2026-98531","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98531","title":{"rendered":"CVE-2026-98531 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: sr: enforce exa"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: sr: enforce exact attribute length for SEG6_ATTR_DST<\/p>\n<p>In seg6_genl_policy, SEG6_ATTR_DST is defined with .type = NLA_BINARY and<br \/>\n.len = sizeof(struct in6_addr). For NLA_BINARY, .len only enforces the<br \/>\nmaximum payload length and permits shorter payloads (e.g., 0 bytes).<br \/>\nWhen seg6_genl_set_tunsrc() copies sizeof(struct in6_addr) bytes via<br \/>\nkmemdup(val, sizeof(*val), GFP_KERNEL), a short SEG6_ATTR_DST attribute<br \/>\ntriggers a 16-byte out-of-bounds read past skb-&gt;tail into uninitialized<br \/>\nskb-&gt;head memory, which is stored in sdata-&gt;tun_src and leaked back to<br \/>\nuserspace via SEG6_CMD_GET_TUNSRC.<\/p>\n<p>Switch SEG6_ATTR_DST in seg6_genl_policy to<br \/>\nNLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)) so that generic netlink<br \/>\nvalidation rejects any attribute whose length is not exactly<br \/>\nsizeof(struct in6_addr) with -ERANGE.<\/p>\n<p>Tested in QEMU against Linux 7.3.0-rc3 by sending a SEG6_CMD_SET_TUNSRC<br \/>\nGeneric Netlink message with a 0-byte SEG6_ATTR_DST attribute followed<br \/>\nby SEG6_CMD_GET_TUNSRC. On the unfixed kernel, SEG6_CMD_SET_TUNSRC<br \/>\nsucceeds (err = 0) and SEG6_CMD_GET_TUNSRC leaks 16 bytes of<br \/>\nuninitialized kernel heap memory (tun_src =<br \/>\n836a61ecc4d25a1042a8d60411cfb378); with this patch applied,<br \/>\nSEG6_CMD_SET_TUNSRC is rejected by netlink policy validation with<br \/>\n-ERANGE (-34) and tun_src remains zeroed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: sr: enforce exact attribute length for SEG6_ATTR_DST<\/p>\n<p>In seg6_genl_policy, SEG6_ATTR_DST is defined with .type = NLA_BINARY a<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41003","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41003","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=41003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}