{"id":"CVE-2026-43501","summary":"ipv6: rpl: reserve mac_len headroom when recompressed SRH grows","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: rpl: reserve mac_len headroom when recompressed SRH grows\n\nipv6_rpl_srh_rcv() decompresses an RFC 6554 Source Routing Header, swaps\nthe next segment into ipv6_hdr-\u003edaddr, recompresses, then pulls the old\nheader and pushes the new one plus the IPv6 header back.  The\nrecompressed header can be larger than the received one when the swap\nreduces the common-prefix length the segments share with daddr (CmprI=0,\nCmprE\u003e0, seg[0][0] != daddr[0] gives the maximum +8 bytes).\n\npskb_expand_head() was gated on segments_left == 0, so on earlier\nsegments the push consumed unchecked headroom.  Once skb_push() leaves\nfewer than skb-\u003emac_len bytes in front of data,\nskb_mac_header_rebuild()'s call to:\n\n\tskb_set_mac_header(skb, -skb-\u003emac_len);\n\nwill store (data - head) - mac_len into the u16 mac_header field, which\nwraps to ~65530, and the following memmove() writes mac_len bytes ~64KiB\npast skb-\u003ehead.\n\nA single AF_INET6/SOCK_RAW/IPV6_HDRINCL packet over lo with a two\nsegment type-3 SRH (CmprI=0, CmprE=15) reaches headroom 8 after one\npass; KASAN reports a 14-byte OOB write in ipv6_rthdr_rcv.\n\nFix this by expanding the head whenever the remaining room is less than\nthe push size plus mac_len, and request that much extra so the rebuilt\nMAC header fits afterwards.","modified":"2026-06-11T19:59:09.805843678Z","published":"2026-05-21T12:17:49.885Z","related":["ALSA-2026:25191","ALSA-2026:25217","SUSE-SU-2026:2310-1","SUSE-SU-2026:2331-1","SUSE-SU-2026:2332-1","openSUSE-SU-2026:10859-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43501.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/0a9e8053f1f8a8e1bfc1dd61ffe67be6c1180402"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4babc2d9fda2df43823b85d08a0180b68f1b0854"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7398ebefbfd4f8a31d4f665a4213302fa995494b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8e8be63465a5e80394c70324603dfea1bfdad48f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9e6bf146b55999a095bb14f73a843942456d1adc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bde199c72d319a4e207f88daabc888317504e2fb"},{"type":"WEB","url":"https://git.kernel.org/stable/c/be1fa0aa9b4fdd5a8b7a61ba520a690a68391e6e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c261d07a80576dc8ccf394ef8f074f8c67a06b37"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43501.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43501"},{"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":"8610c7c6e3bd647ff98d21c8bc0580e77bc2f8b3"},{"fixed":"bde199c72d319a4e207f88daabc888317504e2fb"},{"fixed":"be1fa0aa9b4fdd5a8b7a61ba520a690a68391e6e"},{"fixed":"0a9e8053f1f8a8e1bfc1dd61ffe67be6c1180402"},{"fixed":"8e8be63465a5e80394c70324603dfea1bfdad48f"},{"fixed":"4babc2d9fda2df43823b85d08a0180b68f1b0854"},{"fixed":"c261d07a80576dc8ccf394ef8f074f8c67a06b37"},{"fixed":"7398ebefbfd4f8a31d4f665a4213302fa995494b"},{"fixed":"9e6bf146b55999a095bb14f73a843942456d1adc"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-43501.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.7.0"},{"fixed":"5.10.258"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.209"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.175"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.140"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.86"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.27"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.0.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-43501.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}