{"id":"CVE-2026-89555","summary":"mpls: reload header after pskb_may_pull()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nmpls: reload header after pskb_may_pull()\n\nmpls_select_multipath() calls mpls_multipath_hash() to choose a nexthop\nwhen an MPLS route has multiple nexthops.  While walking the MPLS label\nstack, the hash routine caches hdr for the current label.  After finding\nthe bottom-of-stack label, it calls pskb_may_pull() before reading the\ninner IP header.\n\nIf an skb is constructed with the inner IP header in nonlinear data and\ninsufficient tailroom in the linear head, pskb_may_pull() calls\npskb_expand_head() to replace the skb head and free the old one.  This\nleaves hdr pointing to freed memory.  The IPv6 path can invalidate hdr\nagain when it performs a second pull for the larger header.\n\nThe issue was found through static analysis.  A reproducer sending a legal\nGeneve packet through a bareudp/MPLS multipath setup triggered the same\nKASAN report in 2 of 2 unpatched runs:\n\n  BUG: KASAN: slab-use-after-free in mpls_select_multipath\n  Read of size 1 at addr ffff88800ecc6e20 by task ksoftirqd/1/23\n\n  Call Trace:\n   mpls_select_multipath\n   mpls_forward\n   __netif_receive_skb_list_core\n   netif_receive_skb_list_internal\n   napi_complete_done\n   gro_cell_poll\n   __napi_poll\n   net_rx_action\n\n  Freed by task 23:\n   kfree\n   pskb_expand_head\n   __pskb_pull_tail\n   mpls_select_multipath\n\nReload hdr from the current skb head after each successful pull before\nderiving the inner IPv4 or IPv6 header pointer.","modified":"2026-10-28T02:30:41.506952709Z","published":"2026-09-11T19:44:28.331Z","related":["openSUSE-SU-2026:11880-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89555.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/29e63b8d9fc150cc191b1c6eb7e16e1247e1b650"},{"type":"WEB","url":"https://git.kernel.org/stable/c/49d38c1b4390412f8950d33dfaee0ccbd17beb81"},{"type":"WEB","url":"https://git.kernel.org/stable/c/aa4fe0b450a461aa1162fe8375f5d28f4c957df8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b1c0783b2facc398437ad8f8b86c636d7a78f8db"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bfaaff99238326166694354a63a76c02563f98b1"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d82b90a38c2ca8a0694428eab0e9551c23f2447d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d9640239827d6d0cb84263b590f7a4f1596c17eb"},{"type":"WEB","url":"https://git.kernel.org/stable/c/fed638a248116b8a249bd4202d28e5934bdc65ad"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89555.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89555"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"9f427a0e474a67b454420c131709600d44850486"},{"fixed":"aa4fe0b450a461aa1162fe8375f5d28f4c957df8"},{"fixed":"b1c0783b2facc398437ad8f8b86c636d7a78f8db"},{"fixed":"bfaaff99238326166694354a63a76c02563f98b1"},{"fixed":"d9640239827d6d0cb84263b590f7a4f1596c17eb"},{"fixed":"fed638a248116b8a249bd4202d28e5934bdc65ad"},{"fixed":"d82b90a38c2ca8a0694428eab0e9551c23f2447d"},{"fixed":"49d38c1b4390412f8950d33dfaee0ccbd17beb81"},{"fixed":"29e63b8d9fc150cc191b1c6eb7e16e1247e1b650"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.9.8"},{"fixed":"4.10"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"ad864d9fce0ec56cc8f6afe5c6a0e6d7f484b9eb"}]}],"versions":["v4.9.337","v4.9.336","v4.9.335","v4.9.334","v4.9.333","v4.9.332","v4.9.331","v4.9.330","v4.9.329","v4.9.328","v4.9.327","v4.9.326","v4.9.325","v4.9.324","v4.9.323","v4.9.322","v4.9.321","v4.9.320","v4.9.319","v4.9.318","v4.9.317","v4.9.316","v4.9.315","v4.9.314","v4.9.313","v4.9.312","v4.9.311","v4.9.310","v4.9.309","v4.9.308","v4.9.307","v4.9.306","v4.9.305","v4.9.304","v4.9.303","v4.9.302","v4.9.301","v4.9.300","v4.9.299","v4.9.298","v4.9.297","v4.9.296","v4.9.295","v4.9.294","v4.9.293","v4.9.292","v4.9.291","v4.9.290","v4.9.289","v4.9.288","v4.9.287","v4.9.286","v4.9.285","v4.9.284","v4.9.283","v4.9.282","v4.9.281","v4.9.280","v4.9.279","v4.9.278","v4.9.277","v4.9.276","v4.9.275","v4.9.274","v4.9.273","v4.9.272","v4.9.271","v4.9.270","v4.9.269","v4.9.268","v4.9.267","v4.9.266","v4.9.265","v4.9.264","v4.9.263","v4.9.262","v4.9.261","v4.9.260","v4.9.259","v4.9.258","v4.9.257","v4.9.256","v4.9.255","v4.9.254","v4.9.253","v4.9.252","v4.9.251","v4.9.250","v4.9.249","v4.9.248","v4.9.247","v4.9.246","v4.9.245","v4.9.244","v4.9.243","v4.9.242","v4.9.241","v4.9.240","v4.9.239","v4.9.238","v4.9.237","v4.9.236","v4.9.235","v4.9.234","v4.9.233","v4.9.232","v4.9.231","v4.9.230","v4.9.229","v4.9.228","v4.9.227","v4.9.226","v4.9.225","v4.9.224","v4.9.223","v4.9.222","v4.9.221","v4.9.220","v4.9.219","v4.9.218","v4.9.217","v4.9.216","v4.9.215","v4.9.214","v4.9.213","v4.9.212","v4.9.211","v4.9.210","v4.9.209","v4.9.208","v4.9.207","v4.9.206","v4.9.205","v4.9.204","v4.9.203","v4.9.202","v4.9.201","v4.9.200","v4.9.199","v4.9.198","v4.9.197","v4.9.196","v4.9.195","v4.9.194","v4.9.193","v4.9.192","v4.9.191","v4.9.190","v4.9.189","v4.9.188","v4.9.187","v4.9.186","v4.9.185","v4.9.184","v4.9.183","v4.9.182","v4.9.181","v4.9.180","v4.9.179","v4.9.178","v4.9.177","v4.9.176","v4.9.175","v4.9.174","v4.9.173","v4.9.172","v4.9.171","v4.9.170","v4.9.169","v4.9.168","v4.9.167","v4.9.166","v4.9.165","v4.9.164","v4.9.163","v4.9.162","v4.9.161","v4.9.160","v4.9.159","v4.9.158","v4.9.157","v4.9.156","v4.9.155","v4.9.154","v4.9.153","v4.9.152","v4.9.151","v4.9.150","v4.9.149","v4.9.148","v4.9.147","v4.9.146","v4.9.145","v4.9.144","v4.9.143","v4.9.142","v4.9.141","v4.9.140","v4.9.139","v4.9.138","v4.9.137","v4.9.136","v4.9.135","v4.9.134","v4.9.133","v4.9.132","v4.9.131","v4.9.130","v4.9.129","v4.9.128","v4.9.127","v4.9.126","v4.9.125","v4.9.124","v4.9.123","v4.9.122","v4.9.121","v4.9.120","v4.9.119","v4.9.118","v4.9.117","v4.9.116","v4.9.115","v4.9.114","v4.9.113","v4.9.112","v4.9.111","v4.9.110","v4.9.109","v4.9.108","v4.9.107","v4.9.106","v4.9.105","v4.9.104","v4.9.103","v4.9.102","v4.9.101","v4.9.100","v4.9.99","v4.9.98","v4.9.97","v4.9.96","v4.9.95","v4.9.94","v4.9.93","v4.9.92","v4.9.91","v4.9.90","v4.9.89","v4.9.88","v4.9.87","v4.9.86","v4.9.85","v4.9.84","v4.9.83","v4.9.82","v4.9.81","v4.9.80","v4.9.79","v4.9.78","v4.9.77","v4.9.76","v4.9.75","v4.9.74","v4.9.73","v4.9.72","v4.9.71","v4.9.70","v4.9.69","v4.9.68","v4.9.67","v4.9.66","v4.9.65","v4.9.64","v4.9.63","v4.9.62","v4.9.61","v4.9.60","v4.9.59","v4.9.58","v4.9.57","v4.9.56","v4.9.55","v4.9.54","v4.9.53","v4.9.52","v4.9.51","v4.9.50","v4.9.49","v4.9.48","v4.9.47","v4.9.46","v4.9.45","v4.9.44","v4.9.43","v4.9.42","v4.9.41","v4.9.40","v4.9.39","v4.9.38","v4.9.37","v4.9.36","v4.9.35","v4.9.34","v4.9.33","v4.9.32","v4.9.31","v4.9.30","v4.9.29","v4.9.28","v4.9.27","v4.9.26","v4.9.25","v4.9.24","v4.9.23","v4.9.22","v4.9.21","v4.9.20","v4.9.19","v4.9.18","v4.9.17","v4.9.16","v4.9.15","v4.9.14","v4.9.13","v4.9.12","v4.9.11","v4.9.10","v4.9.9","v4.9.8"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89555.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.10.0"},{"fixed":"5.10.270"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.221"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.188"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89555.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}